我在页面上有一个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中测试过),所以很确定它不是浏览器。服务器会不时更新,但并不常见。但我也不知道这个问题何时开始/嗯... –