2012-05-07 25 views
3

iframe内にフォームがあり、入力が変更されたときにフォームを送信するonchangeイベントを含む入力タイプファイルがある場合、IEでエラーが発生するのは他のブラウザでのみです。JS Submit()アクセスが拒否されたIFrame IE

(簡易版)

<form id="form1"> 
<input type="file" id="_file" onchange="document.forms[0].submit();$('#form1').hide()" /> 
<input type="button" onclick="$('#_file').click();" /> 
</form> 

は、IE 8は、このエラーを与える:

SCRIPT5: Access is denied. 

私はIEがなかったイベントから提出するよう、そのセキュリティリスクを考えているという事実をどうするとして、それを信じてユーザーが解雇した場合、またはiframe内で発生したという事実と関連している可能性があります。これを回避する方法に関するアイデア?

EDITは問題は入力という事実としなければならないことのように見えます

[タイプ:ファイル]が隠されている、だけでなく、その小さな幅や不透明度を得た:0。それを表示し、そこに提出ボタンを置いた後、それは動作しますが、私は入力[タイプ:ファイル]を表示せずに、送信ボタンなしで動作する必要があります。しかし、入力[type:file]でそれを試してみたところ、onchangeでの表示と送信はまだ動作しません。

+0

ここには役立つはずの投稿です - http://stackoverflow.com/questions/1886547/access-is-denied-javascript-error-when-trying-to-access-the-document-object-of –

+0

私の問題との関連性は見えませんが、私は動的にIframeを作成していません。 – John

+0

iFrameの作成に関係なく、同じエラーが発生しています。 iFrameのdocument.domainとは何ですか?それは親文書と一致しますか? –

答えて

4

IEがファイル入力をプログラムで設定して提出するときにIEが気に入らないという問題があるようです。この周りに見つけて、あきらめる。私はユーザーがIEにいるときにフォールバックとしてJquery uploadifyを使用することを選択しています。これは、フラッシュに望ましくない依存関係を置くが、それは最高の選択肢である。

関連する問題