我有一个while循环,它遍历数据库的所有记录,在表格上打印它们。现在我在该循环中也有一些复选框,我想用它来点击时提交表单。现在,当我单击复选框时,它确实会提交表单,这要归功于我找到的Jquery脚本,但是每当我提交它时,它都会提交表格第一条记录的ID。This Image
显示该表,因为您看到第一个记录有ID 34.现在我点击的每个复选框都会发送$ id 34。
普通的提交按钮不会发生这种情况。
我是否可以通过个人用户ID
提交
while ($openResInfo = mysql_fetch_array($openResQuery))
{
$id = $openResInfo[0];
$complete = $openResInfo[7];
?>
<form id='resComplete' action='dashboard_openReserveringen_PHP.php' method='GET'>
<?php
echo "<input type='hidden' name='userID' value='$id'>";
?>
<input type="hidden" name="complete" value="0" >
<input id='complete' type='checkbox' name='complete' value='1' onchange='$("#resComplete").submit();' <?php if($complete == 1){echo "checked";}?>>
</form>
我很抱歉,如果我不清楚这个解释,很难解释这种情况。谢谢你们!
答案 0 :(得分:0)
可能你的问题是你总是提交相同的表格,因为你为每一行创建一个表单,但它具有相同的id
对于你来说,简单的方法就是将每个表格的id放入行中的唯一值,然后提交。
像这样的东西
while ($openResInfo = mysql_fetch_array($openResQuery))
{
$id = $openResInfo[0];
$complete = $openResInfo[7];
?>
<form id='resComplete_<?php echo $id; ?>' action='dashboard_openReserveringen_PHP.php' method='GET'>
<?php
echo "<input type='hidden' name='userID' value='$id'>";
?>
<input type="hidden" name="complete" value="0" >
<input id='complete' type='checkbox' name='complete' value='1' onchange='$("#resComplete_<?php echo $id; ?>").submit();' <?php if($complete == 1){echo "checked";}?>>
</form>
答案 1 :(得分:0)
您的创建<form>
看起来像是静态ID,因此所有表单都会有id='resComplete'
。 jQuery提交函数将使用id='resComplete'
获取第一个元素并提交它。您需要使每个表单都具有唯一性,并使onchange='$("#resComplete").submit();'
代码与之匹配。
例如
<?php
while ($openResInfo = mysql_fetch_array($openResQuery))
{
$id = $openResInfo[0];
$complete = $openResInfo[7];
?>
<form id='resComplete-<?php echo $id; ?>' action='dashboard_openReserveringen_PHP.php' method='GET'>
<?php
echo "<input type='hidden' name='userID' value='$id'>";
?>
<input type="hidden" name="complete" value="0" >
<input id='complete' type='checkbox' name='complete' value='1' onchange='$("#resComplete-<?php echo $id; ?>").submit();' <?php if($complete == 1){echo "checked";}?>>
</form>
更好的是,使用jQuery通过将onchange变为类似的东西来找出它的形式:
<input id='complete' type='checkbox' name='complete' value='1' onchange='$(this).closest('form').submit();' <?php if($complete == 1){echo "checked";}?>>