2013-04-16 192 views
1

我正在使用CMS系统,并对可以放置代码的位置(此刻)有限制。我试图使用的脚本必须在表单之后加载,并且可以在Dreamweaver中成功运行。但现在我正在将内容移到CMS中,我必须在表头中而不是在表单后面运行脚本。我试图在页面加载像这样使用后加载它:在页面加载时运行脚本

<script> 
$(document).ready(function() { 
//You should create the validator only after the definition of the HTML form 
var frmvalidator = new Validator("leadform"); 
frmvalidator.EnableOnPageErrorDisplaySingleBox(); 
frmvalidator.EnableMsgsTogether(); 
frmvalidator.addValidation("first_name","req","Please enter your first name."); 
frmvalidator.addValidation("first_name","maxlen=40","Max length for first name is 40."); 
frmvalidator.addValidation("first_name","alpha","Please enter your first name."); 
frmvalidator.addValidation("last_name","req","Please enter your last name."); 
frmvalidator.addValidation("last_name","maxlen=40","Max length for last name is 40."); 
frmvalidator.addValidation("last_name","alpha","Please enter your last name."); 
frmvalidator.addValidation("email","req","Please enter your e-mail address."); 
frmvalidator.addValidation("email","email","Please enter your e-mail address."); 
frmvalidator.addValidation("state","dontselect=0","Please select your state."); 
}); 
</script> 

我不得不相信,我只是写这都是错误的,但我无法找到任何例子,这将帮助我做到这一点。很明显,我是一个noob编码器 - 任何帮助,将不胜感激。

谢谢。

+0

为了澄清 - 我需要上面的脚本加载,使其生效在浏览器的形式加载后。 –

+2

如果您正在使用.ready(),它将在窗体加载后加载 – doitlikejustin

+1

您是否在控制台中收到任何错误消息?当你说这是行不通的,怎么会这样? – cfs

回答

2
$(document).ready(function(event){ 

// insert code here 

}); 

上面的代码会一直等待,直到该文件被加载(这意味着所有的HTML,包括您的形式加载到页面)无论是在头部或HTML的身体。您只需确保在使用jQuery时,将脚本标记与您的jQuery代码放在加载jQuery的脚本标记之后。下面是加载的jQuery的版本1.9.1的例子:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<!-- make sure your code is added after jQuery --> 
<script src='pathtoyourscript/yourScript.js'></script> 
+1

但是,您应该意识到的一件事是,文档的准备事件发生在所有html被加载后,但不是在所有图像加载完成后。换句话说,文档就绪可以在所有图像加载之前触发。如果要在图像加载后执行代码,则可以使用窗口对象的加载事件。这与你的具体问题没有任何关系。我只是想我会在那里发出警告。 – orb

+1

它也不会等待ajax请求触发,我怀疑这是真正的问题。 –

+0

是的,页面可能通过ajax加载。 – orb

相关问题