私はページにHTMLフォームを持っています。メソッドはPOSTですが、ユーザーがクリックするボタンに応じてURL文字列にGETパラメータを手動で追加しています。しかし、フォームが提出されると、GETはURLから取り除かれています。GetはHTMLフォームから取り除かれています
私はこれに本当に困惑しています。このメソッドは過去に何度も働いていましたが、実際のフォーム自体は正常に動作していました。突然、以前と同じ(以前は動作していた)コードは機能しません。
Firefox Web Developerツールを使用して、リクエストで渡されるパラメータを調べています.GETの兆候はありません。
<form method="post" target="_blank">
<input type="hidden" name="report" value="abc">
...a couple Select form fields...
<input type="submit" action="reports.php?format=PDF" value="Go">
[<input type="submit" action="reports.php?format=preview" value="Web Preview">]
</form>
基本的に、彼らは「GO」をクリックすると、彼らはPDFを取得する必要があります、そして、彼らは「ウェブプレビュー」をクリックすると、彼らはWebページと同じレポートを取得します。 "format"パラメータは物事の処理終了時に受け取られません。追加する
(。私は複数のブラウザでそれをも試してみた)
編集:私は、POSTデータが処理終了に受信されていることを確認することができます。 GETだけがありません。
このアクションを<form>
タグに移動すると、動作します。もちろん、2つのボタンを2つ持つことができないので、問題は解決しませんが、何が起きているのかという手がかりになります。これは動作します:
<form method="post" action="reports.php?format=PDF" target="_blank">
<input type="hidden" name="report" value="abc">
...a couple Select form fields...
<input type="submit" value="Go">
<!-- [<input type="submit" action="reports.php?format=preview" value="Web Preview">] -->
</form>
これを行うことができる奇妙なサーバー設定がある場合は - 特に、コードが機能したときから変更されていないため、 IIS 7の実行 –
私の最初の推測はサーバー側でもあります。 2番目の推測はブラウザの更新です。 IISボックスが自動更新するかどうか知っていますか? – madscientist159
同僚はIE 8でテストしました(そして、私はFirefoxとChromeでテストしました)ので、それはブラウザではないと確信しています。サーバーは時折更新されますが、頻繁に更新されることはありません。しかし、私はまた、この問題がいつ始まったのか本当に分かっていません。...// –