我有一个 HTML 表格,它是通过 WHILE () { }
构建的在这个表中,我有一个下拉菜单,在选择时,我有 onchange= 命令来在同一文件上执行上面的部分 PHP 代码。一切正常,除了当我同时有多个结果时,因为我无法区分每种形式......我该怎么做。
我有一个隐藏的值(value)。但我如何从 if (isset($_POST['status'])) 的立场来管理这个问题?
示例代码
<?php
if (isset($_POST['status']))
{ }
?>
此处为 HTML
<?php
while ($bookingrequest2 = mysql_fetch_array( $bookingrequest ))
{
echo "<tr><td>
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" name=\"reply\">
<select name=\"status\" class=\"form-field\" onchange=\"reply.submit();\" >
<option selected value=\"0\">Make a Selection</option>
<option value=\"Approve\">Approve</option>
<option value=\"1\">Modify</option>
<option value=\"Decline\">Decline</option>
</select>
<input type=\"hidden\" value=\"".$bookingrequest2['booking_id']."\" name=\"booking_id\"/>
</form></td></tr>";
}
?>
最佳答案
添加一个隐藏的输入字段来标识数据库行。并将 reply.submit()
更改为 this.form.submit()
,因为在以下情况下无法将 reply
引用为单个元素:有多个同名表单。
while ($bookingrequest2 = mysql_fetch_array( $bookingrequest ))
{
echo "<tr><td>
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" name=\"reply\">
<select name=\"status\" class=\"form-field\" onchange=\"this.form.submit();\" >
<option selected value=\"0\">Make a Selection</option>
<option value=\"Approve\">Approve</option>
<option value=\"1\">Modify</option>
<option value=\"Decline\">Decline</option>
</select>
<input type='hidden' name='id' value='{$bookingrequest2['id']}'>
</form></td></tr>";
}
那么表单处理代码可以做的事:
$booking_id = $_POST['id'];
关于php - php 中一段时间的多个 onchange 提交不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20184747/