我正在一个允许用户将结果预览为HTML表格的系统上。我在默认情况下选中的最左边的单元格中放置了一个复选框。如果用户取消选中任何行,则该行将不会出现在最终产品中。
提交此表单(目前只有这些复选框,仅包含HTML)会产生404错误。删除或大大减少复选框的数量可解决此问题。
我实施了name = "checkbox[]"
而不是name = "checkbox1", name = "checkbox2", ...
来看看是否可以解决问题;没有。
我也尝试过serializing and submitting the form data with jQuery post and PHP,它仍然给我404。我尝试了submitting the form using AJAX and jQuery,效果相同。
我不确定通过$_SESSION
提交数据是否会有所帮助。我不知道如何在用例中实现它。
如何提交许多输入而不会导致错误?
编辑:希望是一个最小,完整和可验证的示例(仅使用HTML,因为没有一种脚本方法可产生更好的结果):
<?
print "<form action = 'target.php' method='get'>";
for( $i = 0 ; $i < 200 ; $i++ ){
print '<input type="checkbox" name="chk[]" checked /> Checkbox ' . $i . '<br />';
}
print '<input type="submit" value="Submit">';
?>
这对我产生了相同的错误:404。
答案 0 :(得分:3)
将<form action = 'target.php' method='get'>
替换为<form action = 'target.php' method='post'>
您使用GET
方法,这意味着输入名称和值将在URL中发送。如果您将数据发送到服务器,请始终使用POST
。
如果您有100多个输入,则网址会太长