2013-04-16 8 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. Вот пример, который загружает версию 1.9.1 из jQuery:

<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, но НЕ после завершения всех изображений. Другими словами, готовый документ может запускаться до загрузки всех изображений. Если вы хотите выполнить код после загрузки изображений, вы можете использовать событие загрузки объекта window. Это не имеет никакого отношения к вашему конкретному вопросу; Я просто подумал, что брошу это предупреждение. – orb

+1

Он также не ждет, когда будут запускаться запросы ajax, которые, как я подозреваю, являются настоящей проблемой. –

+0

Да, страница может быть загружена через ajax. – orb

Смежные вопросы