代码之家  ›  专栏  ›  技术社区  ›  Aditya J.

HTML表单:如何提交多个(100多个)输入

  •  0
  • Aditya J.  · 技术社区  · 6 年前

    我正在开发一个允许用户以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。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Iter Ator    6 年前

    替换 <form action = 'target.php' method='get'> 具有 <form action = 'target.php' method='post'>

    你使用 GET 方法,这意味着输入名称和值将在URL中发送。如果将数据发送到服务器,请始终使用 POST .

    如果您有100多个输入,那么URL会变得太长。