【发布时间】:2016-09-30 11:29:02
【问题描述】:
在 IE11 中,使用普通的 form.submit() JS 函数,没有 POST 变量被提交到服务器。开发控制台显示 POST 参数为空。
我正在使用 jQuery 在点击 .form-file-download 时触发一个事件:
$(".form-file-download").on("click",
".download-file",
function (){
$(this).parent().submit();
});
这是正在提交的表单:
<form class="form-file-download" action="/reqHandling/file.handler.php" method="post">
<input name="file" type="hidden" value="3">
<input name="action" type="hidden" value="download">
<i class="fa fa-cloud-download download-file"></i>
</form>
表单数据不被 JS 操作。我已经尝试取消隐藏输入。
提交函数被执行并向 file.handler.php 发送一个 POST 请求(如预期的那样),但没有发送任何参数。
Firefox、Chrome 和 Edge 确实会发送表单数据。知道有什么问题吗?如果需要更多详细信息,请告诉我!
【问题讨论】:
-
您是否查看过 IE 开发者工具中的网络检查器以查看是否实际发送了任何内容?
-
是的,这就是我所说的开发控制台显示 POST 参数为空的意思。该请求是对正确 URL 的 POST 请求,标头很好,但没有 POST 数据...
-
对不起,我错过了!也许尝试将
action重命名为theform.action可能会在同名的元素和属性之间产生歧义。
标签: javascript jquery forms internet-explorer post