1

可能重复:
如何使用 javascript 以编程方式设置选择框元素的值?

I'm trying to update a table with the results of a query when a select option has changed. 以下测试代码工作正常。但是当我尝试更新查询时,它不起作用。我猜它与“回声”有关,但我无法弄清楚。谢谢。

<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')");

结果是页面加载时出现空白表,我原以为“美国”是默认值。当我从下拉菜单中选择某些东西时,它什么也不做。

4

2 回答 2

1

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

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

你应该看看AJAX

于 2012-09-17T16:38:53.690 回答
0

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

于 2012-09-17T16:39:20.217 回答