【问题标题】:Change php variable based on javascript value根据javascript值更改php变量
【发布时间】:2011-10-29 08:40:36
【问题描述】:

如何根据 javascript 变量更改/分配一个值给 php 变量? 这是我的代码。

<select id="reOutcome" name="reOutcome" onchange="OnChange(this.form.reOutcome);">
<option value="1">Value 1</option>
<option value="2">Value 2</option>
<option value="3">Value 3</option>
</select>

<script type="text/javascript">

function OnChange(dropdown)
{
    var myindex  = dropdown.selectedIndex
    var SelValue = dropdown.options[myindex].value
    if(SelValue==2){        
     <?php
    $sCOMPFields .= "|"."SreComments";
    $sCOMPFields .= "|"."rePrID";   
     ?>
    }
    return true;
}
</script>

onchange 函数运行良好。我只是不知道如何更改 php 变量。我在网上搜索了很多。我得到的只是如何将 php 变量分配给 javascript。那不是我要找的。 感谢您的帮助。

【问题讨论】:

  • php 在服务器端执行(因此在页面加载之前),javascript 在客户端执行(因此在用户端动态执行)。所以你只能将一个变量从 php 传递给 javascript。反之则不然。至少直接。您需要将数据重新发送到服务器。你可以考虑用 ajax 做类似的事情吗?
  • 哦.. 我不知道 ajax.. :( 是否有其他方法可以根据下拉框更改 php 变量?我的意思不是 onChange?
  • 恐怕不行。根据代码运行时间的性质,没有 ajax 是行不通的。您可以随时更改下拉框后通过 php 发送的值。但同样,它需要一个页面请求(页面加载)来执行此操作。

标签: php javascript onchange


【解决方案1】:

您想要的执行不会发生,因为 php 范围和 javascript 范围的流程发生在不同的时刻。是这样的:

所以,你不能在通过浏览器在用户的电脑上执行javascript的时候执行php,但是你可以在你的服务器上执行php来生成你需要在用户电脑上执行的javascript。

实际上,您的问题似乎更接近于“什么是最好的方法(某事)”

【讨论】:

    【解决方案2】:

    PHP 变量在运行时设置。您不能直接在 javascript 中执行此操作。我能想到的最好方法是将php变量设置为会话变量。然后使用您的 javascript 通过 ajax/jquery 调用可以更新会话变量的 php 文件。

    【讨论】:

    • 如果没有其他问题,我会尝试这样做.. 不幸的是,这背后有很多并发症(对我来说).. :(
    【解决方案3】:

    这正是我们使用 ajax。 使页面以默认首选项加载,然后使用 ajax 更新它

    【讨论】:

    • 我从来没有用过ajax .. :(你能帮忙吗?
    • "AJAX" 是使用 XmlHTTPRequest 用 Ja​​vascript 调用请求服务器页面而无需重新加载页面。这就是实时网页(非 Flash)更新内容的方式。在您的情况下,您可以将所需的值发送到单独的 php 脚本,并让它在服务器上为您执行某些操作。如果没有更多关于你想要做什么的细节,很难说。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 2017-04-24
    • 2016-11-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多