在提交表格时IE8赢得了't将来自输入的属性以外的属性添加到请求中

While submitting a form IE8 won't add attributes to the request other than those from inputs

本文关键字:属性 输入 请求 添加 将来 IE8 表格 提交      更新时间:2023-09-26

所有其他浏览器(包括IE9,不包括古代浏览器)都会发送以下格式的正确请求:

<form class="form-submitter form-horizontal" enctype="multipart/form-data" name="Uploader" id="Uploader" action="MainServlet?module=general&action=add&Name=test">
<input class="input-file" name="testFormName" id="UploaderInput" type="file">
</form>

即:

http://localhost:8080/Project/MainServlet?module=general&action=add&Name=test&testFormName=%5Bobject+File%5D

在IE8中,我得到的只是:

http://localhost:8080/Project/MainServlet?toSessionFormName=test.png

我使用的是jQuery的提交,即:

$("#Uploader").submit()

我很想得到任何建议,或提示,可以导致我的解决方案。IE8已经有人有这个问题了吗?

Thx

使用隐藏输入:

<form class="form-submitter form-horizontal"
    enctype="multipart/form-data" name="Uploader" id="Uploader"
    action="MainServlet">
    <input type=hidden name=module value="general">
    <input type=hidden name=action value="add">
    <input type=hidden name=Name value="test">
    <input class="input-file" name="testFormName" id="UploaderInput" type="file">
</form>

这是正确的解决方案。您甚至可以避免编码问题。

您可以这样更改代码吗:

<form class="form-submitter form-horizontal"
      enctype="multipart/form-data"
      name="Uploader" id="Uploader"
      action="MainServlet" method="get">
    <input class="input-file" name="testFormName" id="UploaderInput" type="file">
    <input type="hidden" name="module" value="general" />
    <input type="hidden" name="action" value="add" />
    <input type="hidden" name="Name" value="test" />
</form>

最好通过GET而不是URL隐式发送参数。