我的html代码是:
<table><tr><td onclick="submit_form_patient();")>
<form name="select_patient" method="POST" action="./select_bed.php">
<input name="raw_data" type="hidden" value="27" />27</form>
</td></tr>
<tr><td onclick="submit_form_patient();")>
<form name="select_patient" method="POST" action="./select_bed.php">
<input name="raw_data" type="hidden" value="49" />49</form></td></tr>
我的Java脚本是:
<script>
function submit_form_patient()
{
document.forms["select_patient"].submit();
}
</script>
我的表单被提交了,但如果我使用$_POST来检索我一直得到的值27,即第一个值,我就永远不会得到其他值。
您的表单具有相同的名称。你需要用不同的名字来命名它们。
并修改js代码:
<script>
function submit_form_patient(formName)
{
document.forms[formName].submit();
}
</script>
html代码需要像这个
<table>
<tr>
<td onclick="submit_form_patient('select_patient');")>
<form name="select_patient" method="POST" action="./select_bed.php">
<input name="raw_data" type="hidden" value="27" />27</form>
</td>
</tr>
<tr>
<td onclick="submit_form_patient('select_patient2');")>
<form name="select_patient2" method="POST" action="./select_bed.php">
<input name="raw_data" type="hidden" value="49" />49</form>
</td>
</tr>
form
的name
是相同的。我不知道标准是否能处理这个问题,但浏览器会选择第一个匹配项。所以它永远是第一个。
只创建一个表单,并根据单击POST获得正确的值。
当您使用document.forms["select_patient"].submit();
时,JS将找到具有该名称的第一个表单/元素。
试试这个:
<script>
function submit_form_patient()
{
document.getElementsByName("select_patient")[0].submit();
document.getElementsByName("select_patient")[1].submit();
}
</script>
您还可以创建一个for块以使其更加一致。