私のjQueryが実行されたときに(IEで)Squarespaceフォームはロードされていません

StackOverflow https://stackoverflow.com/questions/6364097

  •  28-10-2019
  •  | 
  •  

質問

主な問題は、Square-SpaceがJava-Script(YUI)でフォームを構築することです。彼らはドキュメントの準備ができているコードをロードしています。フォームがロードされるまで待つにはどうすればよいですか?これはIEの問題にすぎません。

私のコード:(最初に実行)

$(document).ready(function() {
    $('#formFieldEl6').each(function(){
        var collection = $.deparam.querystring(window.location);
        $(this).val(collection.id);
        $(this).attr("disabled", true);
    });
});

Squarespaceコード:(最後に実行)

  var theForm10248992;
  YAHOO.util.Event.onDOMReady(function() {
  theForm10248992 = new Squarespace.FormBuilder( "theForm10248992", "formOuterContainer10248992", "formFields10248992", "formAddFieldControl10248992", "formErrorMessage10248992", "formSubmitButton10248992", 10248992,  true ,  false ,  false , "Thanks for responding!" );

  theForm10248992.initializeField( 6, "normal", "Title1", "", true, "", "", 1504386 );
  theForm10248992.initializeField( 9, "normal", "Title2", "", true, "", "", 1504463 );
  theForm10248992.initializeField( 4, "medium", "Title3", "", true, "", "", 1504387 );
  theForm10248992.initializeField( 1, "medium", "Title4", "", true, "", "", 1504395 );
  theForm10248992.initializeField( 2, "large", "Title5", "", true, "", "", 1504390 );
  theForm10248992.initializeField( 1, "small", "Title6", "", true, "", "", 1599975 );

  if (Squarespace.Orderable) { Squarespace.Orderable.ItemManager.initialize(); }
  });

コードは、URLから値を入力し、コントロールを無効にします。これはFFとChromeで機能します。 IEで開発者ツールを使用してデバッグすると、フォームがロードされてからコードが機能するまでブレークポイントを手動で待つことができますが、これを通常の設定で動作させることはできません。何か案は?

役に立ちましたか?

解決 2

$(ウィンドウ)。 load(function(){....});問題を修正しました - ウィンドウ全体がロードされたときに発火します。

他のヒント

$(document).ready()

HTMLとCSSがロードされると火災が発生します。画像がロードされているかどうかを確認しません。

$( "body")。load(function(){alert( "body loaded");})を試してください

これは、HTML、CSS、および画像がロードされたときに発火しますが、通常は少し後になります。

あるいは、Timerを使用して、Document.ready Firesの数ミリ秒後にコードを実行することを調べてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top