我正在使用 while 循环来显示查询结果。 while 循环工作正常。在隐藏字段中,我想将 userID 和 accessID 的值发布到用户详细信息页面。我正在使用 javascript 从链接提交表单。我的问题是,无论我单击什么用户名,我都只能发布第一个显示记录的值。我做错了什么?
代码:
<?php
while($row = $result->fetch_array()) { ?>
<form method="post" action="edit_user.php" id="userForm">
<tr>
<td>
<a href="#" onclick="return(submitForm())"><?php echo $row['firstname'].' '.$row['surname']; ?></a>
<input type="hidden" name="userID" value="<?php echo $row['userID']; ?>" />
<input type="hidden" name="accessID" value="<?php echo $row['accessID']; ?>" />
</td>
</tr>
</form>
<?php } ?>
用于提交表单的 JavaScript:
function submitForm() {
var form = document.getElementById("userForm");
form.submit();
}
谢谢。 编辑 - 我不想传递网址中的值。
最佳答案
您正在生成多个 <form>
s 内循环,移动你的 <form>
外面while
循环,如:
<form method="post" action="edit_user.php" id="userForm">
<?php
while($row = $result->fetch_array()) { ?>
<tr>
<td>
<a href="#"><?php echo $row['firstname'].' '.$row['surname']; ?></a>
<input type="hidden" name="userID[]" value="<?php echo $row['userID']; ?>" />
<input type="hidden" name="accessID[]" value="<?php echo $row['accessID']; ?>" />
</td>
</tr>
<?php } ?>
<a href="#" onclick="return submitForm();">Submit</a>
</form>
关于javascript - 只能发布 while 循环的第一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23902287/