我在頁面上有一個HTML表單。該方法是POST,但我手動添加GET參數到URL字符串取決於用戶點擊哪個按鈕。但是當表單被提交時,GET被剝離掉了URL。獲取被剝離的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>
基本上,如果他們點擊「開始」,他們應該得到一個PDF,如果他們點擊「網頁預覽」,他們得到相同的報告網頁;但是在處理結束時沒有收到「格式」參數。
(我也嘗試過在多個瀏覽器。)
編輯補充:我可以證實,正在對加工端接收到的POST數據。只有GET缺失。
修改即可添加: 如果我將操作移動到<form>
標記,它將起作用。當然,這阻止了我有兩個按鈕可以做兩件事,所以它不能解決問題,但它是發生什麼事的線索。這樣做的工作:
<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 –
我的第一個猜測是服務器端,第二次猜測會是瀏覽器更新。你知道IIS框是否自動更新? – madscientist159
一位同事在IE 8中測試了它(我在Firefox和Chrome中測試過),所以很確定它不是瀏覽器。服務器會不時更新,但並不常見。但我也不知道這個問題何時開始/嗯... –