Нажатие кнопки «Отправить» через JavaScript не «передает» в IE6 - PullRequest
0 голосов
/ 05 октября 2009

По причинам, в которые я не буду вдаваться, нам нужно нажать кнопку отправки (в отличие от простой кнопки) через Javascript.

Мы делаем это, получая дескриптор кнопки отправки, затем выполняя метод .click () для этой кнопки. Это отлично работает в FireFox, но в IE6 это работает только частично.

Кнопка получает щелчок, и запускается код, связанный с событием onClick кнопок (мы можем наблюдать это, наблюдая за кодом на стороне сервера в отладчике), однако страница никогда не обновляется так, как при нажатии кнопка «отправить».

Поскольку это работает в FireFox, мы предполагаем, что это еще одна ошибка IE6, но мне не повезло найти обходной путь. Мы не можем просто обновить страницу напрямую, потому что нам нужно, чтобы она была нарисована так, как если бы она была нарисована из POST-запроса кнопки отправки.

Ответы [ 3 ]

2 голосов
/ 05 октября 2009

Не проще ли получить ссылку на элемент формы и запустить событие submit?

var form = document.forms[0];
form.submit();
1 голос
/ 30 сентября 2010

У меня такая же проблема в ASP.net. Мы должны «нажать» кнопку, потому что в ASP.net с формой происходит больше, чем просто .submit () в форме. Он должен знать, на какую кнопку вы нажали, чтобы она могла соответствовать событию Click на стороне сервера для этой кнопки.

0 голосов
/ 30 сентября 2010

Попробуйте использовать setTimeout, чтобы отложить клик на 1 миллисекунду.

...