主要问题是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中的开发人员工具进行调试时,我可以手动等待断点,直到表单加载然后代码工作,但我仍然无法在正常设置中使用它。有什么想法吗?
答案 0 :(得分:1)
$(document).ready()
在加载html和css时触发。它不会检查图像是否已加载。
尝试 $(“body”)。load(function(){alert(“body loaded”);})
当html,css和图像加载时会触发,通常会稍晚一些。
或者,请在document.ready触发后几毫秒内使用计时器运行代码。
答案 1 :(得分:1)
$(窗口)。 load(function(){....});修复了问题 - 它在整个窗口加载时触发。