使用js .innerHTML更新PHP变量

时间:2012-09-17 16:35:58

标签: php javascript selection

  

可能重复:
  How do I programatically set the value of a select box element using javascript?

当选择选项发生更改时,我正在尝试使用查询结果更新表。以下测试代码工作正常。但是当我尝试更新查询时,它不起作用。我猜这与'回声'有关,但我无法弄明白。感谢。

<script type="text/javascript">
  function ChangeText(value)
  {
    document.getElementById("p1").innerHTML=value;
  }
</script>

<select onchange="ChangeText(value)">
  <option value="ONE">one</option>
  <option value="TWO">two</option>
  <option value="THREE">three</option>
  <option value="FOUR">four</option>
</select>

<?php
  $variable1 = '<p id="p1">place holder</p>';
  echo $variable1; 
?>

什么行不通:

document.getElementById("country").innerHTML=value;

$country = '<p id="country">United States</p>'

$result = mysql_query("SELECT * FROM statistics WHERE (Country='$country')");

当页面加载时,结果是一张空白表格,我原本期望“美国”成为默认值。当我从下拉菜单中选择一些内容时,它什么都不做。

2 个答案:

答案 0 :(得分:1)

在用户看到页面之前,在服务器端执行PHP。因此,一旦用户查看该页面,PHP就会完成执行。

所以你不能“用Javascript更新PHP变量,因为Javascript在客户端运行,这发生在PHP完全执行完毕之后。

您应该查看AJAX

答案 1 :(得分:0)

我认为你对服务器端脚本与javascripting的工作原理有些混淆。 PHP代码不在客户端运行。 PHP代码由您的服务器执行,结果(所有回显+ HTML标记)被发送到客户端的浏览器。如果要动态更新页面,则必须使用表单并重新加载页面,或使用AJAX。