GETメソッドを使用したフォームがあります。このフォームには、更新するフィールドが大量に含まれている可能性があります。そのため、URLが長くなりすぎることがあります。そのため、フィールドの各グループを個別に更新するためのボタンをさらに追加できると思いました。
問題は、新しいボタンを追加しても、すべてのFORMパラメーターが送信されることです。一部のパラメータのみを送信するにはどうすればよいですか?
編集:このページはそれ自体からだけでなく他のページからも呼び出されるため、GETをPOSTに置き換えることはできません。したがって、2つのパラメーターを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: URLも変更するのを忘れたため、機能しませんでした-
<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 -->
元のURL:わかりやすくするために改行で区切ります
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
. . .
. . .
次のフィールドのみを新しいURLに送信したい。たとえば、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
. . .
ありがとう、アタラ。