new*_*ing 5 php forms post hidden
所以这对我来说太困惑了.我有一个有行的页面(index.php).行打印出来就像这样
等等......正如您从下面的代码中可以看到的,我添加了调试语句来显示passID(800个数字)和rowID(顺序)
echo "{$row['ID']}";
echo"
<form action=\"./functions/email.php\" id='passForm' method='post'>
<input type='hidden' id='passID' name='passID' value='{$row['ID']}'/>
<input type='hidden' id='rowID' name='rowID' value='$rowID'/>
<button type=\"submit\" form=\"passForm\" value=\"Submit\" style=\"height:25px; width:75px\">Pass</button>
</form>";
echo "$rowID";
Run Code Online (Sandbox Code Playgroud)
当我们使用代码在email.php页面上查看我们的结果时
$projectID = $_POST['passID'];
$rowID = $_POST['rowID'];
echo $projectID;
echo "<br />";
echo $rowID;
Run Code Online (Sandbox Code Playgroud)
我们看到该值已更改为865和第1行而不是预期的860和第3行?!
这对我没有意义.怎么会发生这种情况?html页面呈现的行值正确,如调试屏幕截图所示,那么代码如何只是在下一页上面的顶行.到底是怎么回事??!
正如你所看到的,任何帮助将不胜感激大声笑,因为我可能会或可能不会疯狂盯着这个!
问题是form="passForm"
提交按钮中的属性.它导致所有提交按钮在第一行提交表单.如果省略此属性,则提交按钮将应用于当前行中包含的表单,这是您想要的.
您还应该id
从所有元素中删除属性,或者通过在ID中包含行ID使它们成为唯一,因为ID必须是唯一的.
归档时间: |
|
查看次数: |
121 次 |
最近记录: |