可能重复:
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')");
当页面加载时,结果是一张空白表格,我原本期望“美国”成为默认值。当我从下拉菜单中选择一些内容时,它什么都不做。
答案 0 :(得分:1)
在用户看到页面之前,在服务器端执行PHP。因此,一旦用户查看该页面,PHP就会完成执行。
所以你不能“用Javascript更新PHP变量,因为Javascript在客户端运行,这发生在PHP完全执行完毕之后。
您应该查看AJAX。
答案 1 :(得分:0)
我认为你对服务器端脚本与javascripting的工作原理有些混淆。 PHP代码不在客户端运行。 PHP代码由您的服务器执行,结果(所有回显+ HTML标记)被发送到客户端的浏览器。如果要动态更新页面,则必须使用表单并重新加载页面,或使用AJAX。