0

主な問題は、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の開発者ツールを使用してデバッグする場合、フォームが読み込まれてコードが機能するまでブレークポイントを手動で待つことができますが、それでも通常の設定でこれを機能させることはできません。何か案は?

4

2 に答える 2

1

$(ウィンドウ). ロード (関数() { .... }); 問題を修正しました – ウィンドウ全体がロードされたときに起動します。

于 2012-07-03T10:30:45.610 に答える
1
$(document).ready()

html と css がロードされたときに発生します。画像がロードされているかどうかはチェックしません。

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

これは、html、css、および画像がロードされたときに発生します。通常は少し後で発生します。

または、タイマーを使用して、document.ready が起動してから数ミリ秒後にコードを実行することを検討してください。

于 2011-08-12T05:27:08.113 に答える