0

他のすべてのブラウザー(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でこの問題を抱えていましたか?

どうも

4

2 に答える 2

2

非表示の入力を使用する:

<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>

それが正しい解決策です。エンコーディングの問題も回避できます。

于 2012-07-12T15:18:03.123 に答える
0

次のようにコードを変更できますか?

<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>

URLではなくGETを介してパラメータを暗黙的に送信することをお勧めします。

于 2012-07-12T15:18:42.477 に答える