我的jquery运行时未加载Squarespace表单(在IE中)

时间:2011-06-15 20:43:10

标签: javascript jquery squarespace

主要问题是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 Code :(执行最后一次)

  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 个答案:

答案 0 :(得分:1)

$(document).ready()

在加载html和css时触发。它不会检查图像是否已加载。

尝试     $(“body”)。load(function(){alert(“body loaded”);})

当html,css和图像加载时会触发,通常会稍晚一些。

或者,请在document.ready触发后几毫秒内使用计时器运行代码。

答案 1 :(得分:1)

$(窗口)。 load(function(){....});修复了问题 - 它在整个窗口加载时触发。