我有一个使用GET方法的表单。此表单可能包含大量要更新的字段。所以有时URL太长了。所以我想我可以添加更多按钮来分别更新每组字段。
问题,即使我添加了新按钮,也会发送所有 FORMs参数。我怎样才能发送一些参数?
编辑:我无法将GET替换为POST,因为此页面不仅从其自身调用,而且还从其他页面调用,因此必须将两个参数用作GET。我试过了
if(isset($_GET['param_id1'])) {
$param_id1 = $_GET['param_id1'];
} else if(isset($_POST['param_id1'])){
$param_id1 = $_POST['param_id1'];
}
并在表单中 -
printf ("<form method='post' action='update_order.php'>"); // Use POST instead of GET
printf (" <input type='hidden' name='param_id1' value='$param_id1'>");
但它也无效。
编辑2:它无效,因为我忘了也更改网址 -
<form method='post' action='update_order_test_post.php'>
我的表格: [我使用PHP]
<form method='get' action='update_me.php'>
. . .
<input type='submit' name='Submit' value='Update All'> <!-- Original button -->
. . .
<input type='submit' name='Submit' value='Update One Line'> <!-- New button -->
原始网址:使用newLines分隔清除
http://mySite.com/update_order.php?
&infoA=aaa
&infoB=bbb
&infoC=ccc
&Submit=Update
¶m1[1]=11
¶m2[1]=21
¶m3[1]=31
¶m4[1]=41
. . .
¶m1[2]=211
¶m2[2]=221
¶m3[2]=231
¶m4[2]=241
. . .
¶m1[3]=3311
¶m2[3]=3321
¶m3[3]=3331
¶m4[3]=3341
. . .
¶m1[4]=411
¶m2[4]=421
¶m3[4]=431
¶m4[4]=441
. . .
. . .
我只想将以下字段发送到新网址,例如如果单击第3行中的按钮:
http://mySite.com/update_order.php?
&infoA=aaa
&infoB=bbb
&infoC=ccc
&Submit=UpdateOneLine
¶m1[3]=3311
¶m2[3]=3321
¶m3[3]=3331
¶m4[3]=3341
. . .
谢谢, Atara。
答案 0 :(得分:2)
使用POST,这就是它的用途。
如果您使用POST,则无需担心减少提交的项目数量。它可能看起来像是大量的项目,但就数据而言,您可能只处理最多10K的数据。你的页面的其余部分可能在50到300K之间,所以它只是一小部分。
只需将表单方法更改为POST并使用php接收页面中所需的参数。
<强>更新强> 要回答您的具体问题,如果您将每行设为单独的表单,则只有在用户单击提交按钮时才会提交该行
答案 1 :(得分:1)