2012-05-07 3 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] и без кнопки отправки. Однако пробовал его с вводом [type: file], показывая и подавая в onchange, все еще не работает.

+0

Это сообщение, которое должно помочь - http://stackoverflow.com/questions/1886547/access-is-denied-javascript-error-when-trying-to-access-the-document-object-of –

+0

I не вижу актуальности для моей проблемы, я не создаю Iframe динамически. – John

+0

Вы получаете ту же ошибку, независимо от создания iFrame. Что такое document.domain вашего iFrame? Соответствует ли это родительскому документу? –

ответ

4

Кажется, проблема в том, что IE не нравится, когда вы программно устанавливаете и отправляете входные файлы. Нашел теперь путь вокруг этого, так что сдаться. Я предпочитаю использовать Jquery uploadify в качестве резервной копии, когда пользователь находится в IE. Это создает нежелательную зависимость от флеш-памяти, но это лучшая альтернатива, которую я могу придумать.

Смежные вопросы