我不知道该怎么做以及如何说出问题,所以我会尽我所能(PS:我是网络开发人员的新手,所以如果可以的话,请在答案中说清楚。)
所以,我有一个带有列表名称的下拉菜单,这些名称取自我的数据库。在该数据库中,我有一个带有名称列的表(呈现在下拉框中的表)以及这些名称的相关信息。现在,当用户选择其中一个名称时,我希望相关信息显示在标签下方。我也不能使用form.submit()方法,因为我的提交按钮已被用于其他内容。
以下是该位的代码:
<form name="name_choice" method="post" action="index.php">
<select name="names" onchange="form.some_method()">
<option value="NULL" selected="selected">--Select name--</option>
<?php
for ( $i = 0; $i < $numrows; $i++ ) { //for all the columns, iterate and print out
$id_names = mysql_result($result, $i);
echo "<option value='".$id_names."'>".$id_names."</option>";
}
?>
</select>
</form>
所以上面的位工作正常,但是“some_method()”是我的问题,我不知道触发什么来显示下拉框下面的div中的文本(代码在下面):< / p>
<div class="information"> <!--if the name is chosen ONLY!-->
<?php
if($_POST['names'] == "NULL") {
echo '<p>Please select an option from the select box.</p>'; //this bit is for testing
}
else {
echo '<p>You have selected: <strong>', $_POST['names'], '</strong>.</p>';
//and then how to echo the relevant information?:(
}
?>
</div><!--end of possible info-->
答案 0 :(得分:0)
onchange
是一个JavaScript事件。 PHP无法对表单数据进行实时处理,因为它位于服务器上,而表单位于客户端上。您可以通过使用AJAX并将表单数据作为用户类型传递来进行,但这将比需要的工作多得多。看看JavaScript form validation帖子,让自己走上正确的道路。