11

POST と GET リクエストの両方を送信するフォームを作成する必要があります (IE と iframe のバグのため)。

送信されるデータはそれほど安全なものではないため、GET 経由で設定できるかどうかは問題ではありません。両方の方法で設定されていることを確認する必要があります。

助けてくれてありがとう!

4

5 に答える 5

31

簡単:フォームURLにGETデータを指定するだけ。

<form method="POST" action="form.php?a=1&b=2&c=3">

ただし、受信スクリプトでデータがどのように使用されているかを注意深く確認してください。使用しないでください$_REQUEST-むしろ解析$_GET$_POST、正確なニーズに応じて、必要な優先順位に従ってください。

于 2011-01-18T17:05:36.430 に答える
11

フォームで通常の POST を実行し、JavaScript を使用してクエリ文字列の値も複製します。

HTML:

<form id="myform" method="post" action="..." onsubmit="process()">
  ...
</form>

JavaScript:

function process() {
  var form = document.getElementById('myform');
  var elements = form.elements;
  var values = [];

  for (var i = 0; i < elements.length; i++)
    values.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(elements[i].value));

  form.action += '?' + values.join('&');
}
于 2011-01-18T17:10:11.833 に答える
4

回避しようとしているバグはわかりませんが、jQueryを使用して、投稿された値を含むようにフォームのアクションを簡単に変更できます。

脚本:

function setAction() {
    $("#myform").attr("action", "/path/to/script/?" + $("#myform").serialize());
}

html:

<form id="myform" action="/path/to/script/" method="post" onsubmit="setAction()">
于 2011-01-18T17:13:16.607 に答える
2

フォームは post を設定し、URL で get を行う必要があります

<form method="post" action="http://www.yourpage.php?firstparam=1&sec=2">
.
.
</form>
于 2011-01-18T17:05:50.860 に答える