2

徹底的に検索しましたが、特定の状況に合った解決策が見つかりません。を使用して作成されたポップアップウィンドウがあり、window.open("","","")そのウィンドウ内に次のようなフォームを作成します。

<form id="uploadImageForm" action="<?php  echo $_GET['action']; ?>" enctype="multipart/form-data" method="post">
    <input type="file" name="files[0]" size="40"/>
    <input type="text" name="token" value="<?php  echo $_GET['token']; ?>"/>
</form>

doUpload次に、別のウィンドウから呼び出された関数を呼び出します。私はこの機能に問題なく入ることができdocument.forms["uploadImageForm"].、IE 以外のすべてのブラウザーでうまく機能します。IE のデバッガーを使用して DOM の変数を監視するdocument.forms["uploadImageForm"].action ="http://server_api_call.html";と、 document.forms["uploadImageForm"].token.value = comGroupId; 両方とも正常に動作することが示されましたが、何らかの理由で停止しますdocument.forms["uploadImageForm"].submit();

このフォームは www.joynme.com/alex/w/index.html -> "Log In" -> "Sign un with Email" にあります。(また、最初の投稿なので、私のフォーマットが悪い場合は申し訳ありません!)

4

3 に答える 3

0

送信する前に、このプロパティを設定してみてください。

document.forms["uploadImageForm"].setAttribute("encoding","multipart/form-data");

IE で js を介してマルチパート フォームを送信する際に問題が発生する

于 2013-03-07T22:20:19.523 に答える
0

おそらく IE にはフォームがないため、フォームに問題があります<input type="submit" />

どちらの場合も、フォーム要素を参照する方法は時代遅れで標準的ではありません。HTML ノードは、標準化されたメソッド ( 、 など) で参照する必要document.getElementByIddocument.getElementsByTagNameあります。より古いdocument.querySelectorおよびdocument.querySelectorAllメソッド (IE8+) を使用することもできます。

于 2013-03-07T22:15:44.297 に答える