2012-03-06 3 views
0

すべてのブラウザはIE以外のコードで正常です。私はIEと一緒に走らせるために何ができるのか分かっていますか?フォーム送信時にポップアップがクラッシュするIE9

<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> 
+0

$(formId).submit(); 

を変更することです、あなたは何が起こるかを説明してもらえますか?送信ボタンが付いた別のウィンドウが表示されます。 – Rob

+0

他のブラウザでは、windoesがポップアップし、1秒以内にコンテンツが表示されます。 IEでは、勝利はポップアップし、10秒以上空白のままです。ポップアップを閉じようとすると、再び3〜5回表示されるか、ボルワーサーがクラッシュします。 – ownking

+1

さて、私は[このリンク](http://stackoverflow.com/a/8437348/1118431)に、IE9の送信ボタンとフォームに関する問題について話しました。それはあなたが探しているものではないかもしれませんが、それは始まりです。 – Rob

答えて

0

私はそれを見つけました。私は、 "onsubmit"ハンドラが無限ループを生成するとコメントしたかっただけです。例えば、あなたがフォームを送信する場合は、フォームの 方法を提出アクセスする必要が

:それから私は、このbug reportを見つけました$( 'form')[0] .submit()。 $( 'form')を呼び出すとsubmit() が送信イベントを生成しているので、イベントハンドラは無限ループで と呼ばれます。

あなたがIEで送信ボタンを打つときに解決策が

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

優秀!私は私のリンクが何らかのサービスのものであったことを望みます;) – Rob

関連する問題