2011-07-30 7 views
0

ここで全く間違っている可能性があります。フォームを送信するとすぐにiframeを読み込もうとしています。ここでは、コードフォーム提出後にjquery load()がクラッシュするとブラウザがクラッシュする

$("#listings-form").submit(); 
$("#hiddeniframe-listings-form").load(alert('done!')); 

これを行うには、too much recursionを生成しても、ブラウザ、クロムまたはMozillaがクラッシュしています。

$('#hiddeniframe-listings-form').load(
    function() { 
     alert('done!'); 
    } 
); 
+0

'$("#listing-form ")。submit();'をコメントアウトし、まだ '再帰回数が多すぎます。おそらく、 '#listing-form'のsubmitイベントハンドラが無限再帰を引き起こして自分自身を呼び出すように設定されていました。 URLを指定して 'alert()'ステートメントを '.load()'メソッドのための関数でラップする必要もありませんか? – fsong

+0

@fsong、あなたは男です。はい、送信がクラッシュしていますが、この状況をどう処理するのですか。フォームがJSONオブジェクトに送信された後、実際にJSONオブジェクトであるiframeで返されたレスポンスを確認します。隠されたiframe。 – Kumar

+0

'$("#listing-form ")。submit();'フォームデータを使ってサーバーに同期POSTリクエストを行い、POSTリクエストが完了したらiframeにJSONレスポンスをロードしますか?この関数をどこかに定義しましたか? – fsong

答えて

0

$("#listings-form").submit();をコメントアウトしてみて、あなたはまだおそらくtoo much recursion error.を取得するリスト形式で無限再帰を引き起こして自分自身を呼び出すように設定された#のイベントハンドラを提出するかどうかを確認:

+0

これは本当の問題でした。 – Kumar

1

.load()は、関数の参照を受け入れます。

+0

私はこのhttp://api.jquery.com/load-event/を使用しています。私は実際に隠れたiframeにフォームを送信していて、iframeに応答がロードされます – Kumar

+0

私は自分の答えを更新しました。引数として関数参照が必要です。 –

+0

私のアプローチとはかなり異なるコードを見つけられませんでしたが、私はまだ同じエラーを使用していました:( – Kumar

関連する問題