Всплывающее окно при отправке формы вылетает IE9 - PullRequest
0 голосов
/ 06 марта 2012

все браузеры в порядке с моим кодом, кроме IE. Знаете ли вы, что я могу сделать лучше, чтобы он также работал с IE?

<script>

  function submitForm(formId) {
    var w = window.open('', 'myPopup', "width=600, height=600");
    $(formId).attr('target', 'myPopup');
    $(formId).submit();
    w.focus();
    return false;
  }
</script>


<form target="myPopup" onsubmit="return submitForm(this);" method="post" action="" name="myForm" id="myForm">
  <input type="submit" />
</form>

1 Ответ

0 голосов
/ 06 марта 2012

Я узнал это.Я просто хотел прокомментировать, что обработчик onsubmit создает бесконечный цикл.Затем я нашел этот отчет об ошибке :

Если вы хотите отправить форму, вам нужно получить доступ к методу отправки формы, например, $ ('form') [0].Отправить().Когда вы вызываете $ ('form'). Submit (), вы генерируете событие submit, поэтому ваш обработчик событий вызывается в бесконечном цикле.

Поэтому решение состоит в том, чтобы изменить

$(formId).submit();

до

$(formId)[0].submit();
...