【发布时间】:2013-04-06 00:21:18
【问题描述】:
我是 php 新手。我在选择选项中的 onchange 事件中遇到问题...如果我更改 提交整个表单的类别,而不是更改类别1的值。
onchange="myform.submit()"中onchange事件的问题。
<form name="myform" method="POST" action="getsearch.php">
<table style=" border:1px solid silver" cellpadding="10px" cellspacing="0px" align="center">
<tr>
<td colspan="3" style="background:#0066FF; color:#FFFFFF; font-size:20px">Search</td>
</tr>
<tr>
<td>Name</td>
<td><input type="text" name="name" size="40" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" size="40" /></td>
</tr>
<tr>
<td>Phone</td>
<td><input type="text" name="phone" size="40" /></td>
</tr>
<tr>
<td>categories</td>
<td><select name="first" onchange="myform.submit()">
<option value="">select the category</option>
<?php
$sql="select *from first_category";
$res=mysql_query($sql);
echo $res;
if(mysql_num_rows($res)>0)
{
while($row=mysql_fetch_assoc($res))
{
if(isset($_POST["first"]) AND $_POST["first"]==$row["first_id"])
$select ="selected='selected'";
else
$select='';
echo '<option value="'.$row["first_id"].'" '.$select.'>'.$row["category_name"].'</option>';
}
}
?>
</select></td>
</tr>
<tr>
<td>categories1</td>
<td><select name="second">
<option value="">select the second category</option>
<?php
if(isset($_POST["first"]))
{
$sql="select *from second_category where first_id=".intval($_POST["first"]);
$res=mysql_query($sql);
echo $res;
if(mysql_num_rows($res)>0)
{
while($row=mysql_fetch_assoc($res))
{
echo '<option value="'.$row["second_id"].'">'.$row["second_categoryname"].'</option>';
}
}
}
?>
</select></td>
</tr>
<center><tr >
<td valign="middle"><input type="submit" value="Search" id="hi" name="hi" /></td>
</tr></center>
</table>
【问题讨论】:
-
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解 prepared statements,并使用 PDO 或 MySQLi - this article 将帮助您决定哪个。 -
当然应该提交表单,因为您调用了 myform.submit。你想做什么而不是那个?请把你的问题说清楚。另外,请注意第一条评论。
-
我认为他希望动态填充第二个选择字段...
标签: php javascript html forms