2

これが私のコードです:

$('#button').click(function () {
    $('#file').click();
});
$('#file').change(function (){
    $('#form').submit();
});


 <form style="display:none;" id="form" method="post" target="upload_target" enctype="multipart/form-data" action="upload">

 <input id="file" name="file" id="file" type="file" /><br />        
  <input type="submit" name="action" value="Upload Image" /><br />      
  <iframe id="upload_target" name="upload_target" src="" style="width:100;height:100;border:00;"></iframe>   

</form>

  <span id="button" class="button def">upload</span>

問題はどこですか?
これはFirefox、Chromeでは機能しますが、IEでは機能しません

4

3 に答える 3

1

$('input[type=file]')inputtagName で選択する場合にのみ使用する必要があり#ます。ID で要素を選択する場合は、セレクターの前に使用する必要があります。

編集:

SCRIPT5: Access is denied. コンソールを確認すると、IE のセキュリティ ルールにより、IE でこのエラーが発生していることがわかります。

ドメイン名が異なるページで iframe にアクセスすることはできません。

いくつかの検索の後、私はあなたを助けるかもしれない何かを見つけました. 親ページとその iframe の両方で document.domain を同じものに設定して、それらが互いに通信できるようにする必要があります。

document.domain = "yourdomain.com"

ソース: http://www.tomhoppe.com/index.php/2008/03/cross-sub-domain-javascript-ajax-iframe-etc/

幸運を。

于 2013-01-04T12:18:25.063 に答える
0

Internet Explorer は、Javascript によってトリガーされたファイルのアップロードを許可しません。ボタンを介してファイルブラウザのクリック機能をトリガーし、選択されたファイルを送信しようとしているあなたがしていることは、IEでは機能しません。Access Denied エラーが発生します。

これはコードのバグではなく、IE の動作の制限にすぎません。

于 2013-05-27T16:21:49.620 に答える