Вопрос по javascript, jquery, internet-explorer – отправка формы - доступ к IE запрещен - тот же домен

16
SCRIPT5: Access denied 
jquery.min.js, line 3 char 3769

Я получаю эту ошибку, просто отправив форму в IE.

 $("#icon_upl").click(function(){ //icon_upl is button which open dialog
  $("[name=icon]").click();
});


$("[name=icon]").change(function() { //icon is hidden file input
  $("[name=upload_icon]").submit();  
});

Я отправил эту форму в скрытый iframe, который находится в том же домене.

<iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;display:none;"></iframe>
<form name="upload_icon" action="upload_icon.php" method="post" enctype="multipart/form-data" target="upload_target">

отправка ввода не помогает

Я не понимаю, потому что я пытаюсь отправить другую форму, которая работает нормально

Есть несколько способов решения этой проблемы, документированных & lt; a href = & quot;stackoverflow.com/questions/9396411/…& GT ;. Jon Weers
я использую то есть 9.0.2 Lukasik
с какой версией IE вы тестируете? Spudley

Ваш Ответ

5   ответов
1

инициирующее скрытое поле ввода, потому что вы не можете его перехватить. С ним можно связать событие и запустить его через другое.

например:

// binding event to hidden field
$('input[name=icon]:hidden').on('click', function() {
  alert('Hidden triggered');
});

// some button/ or else
// some_target is any valid selector you can use
$('some_target').on('click', function() {
  $('input[name=icon]:hidden').click(); // triggering click on hidden field will alert 'Hidden triggered'
});

Note: But its not clear from your post that if you have already something like this or not.

Error: User Rate Limit Exceeded Lukasik
5

Я сделал тест, и я обнаружил, что он работает после 2 или 3 нажатия на кнопку отправки.

Я попробовал какое-то решение, но нашел это сам. это только для т.е.

обратите внимание, я не использую метод отправки jquery, потому что они обрабатывают ошибку.

function Submit() {
    try {
        $('#FormName')[0].submit();
    } catch (e) {
        setTimeout(function () { Submit(); }, 50);
    }
}

пс. извините за мой плохой английский, это не мой родной язык.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
19

и я столкнулся с той же проблемой (т. Е. «Доступ запрещен.» Ошибка JavaScript в Internet Explorer), которую мне удалось устранить, взяв указатели изэтот (отличный) ответ.

В вашем случае:

Change the #icon_upl <button>/<input> to a <label> and make use of the tag's accessibility features by setting the for attribute on it to point to your <input name="icon" type="file"> element.

This effectively makes your click() event handler redundant. However, clicking the <label> in Firefox does not seem to trigger the file <input> dialog so you'll need to perform a browser test and still have the click() event handler if the browser is Mozilla-based.

In order for it to work, you'll need to make sure that your file <input> is not hidden by setting its position to be absolute and moving it off-screen.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

You cannot read the "value" of the element as it holds the filename. You can't fire up the file selection menu via JS. You can't fire submit of the file uploader control via JS.

отошибка получения доступа запрещена в IE8

24

то при отправке формы вы получите ошибку отказа в доступе. IE не позволяет этого. Вам нужно будет попросить пользователя нажать на тип файла ввода напрямую

Подробнее здесь https://github.com/valums/file-uploader/issues/118#issuecomment-1387612

Вы можете попробовать стилизовать файл типа ввода, хотя http://www.quirksmode.org/dom/inputfile.html

Error: User Rate Limit Exceeded

Похожие вопросы