Привет, у меня есть проблема с вызовом jquery script для работы. У меня есть файл index.html
. Где я включаю jquery следующим образом: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
И мой файл с jquery-скриптом выглядит так: <script type="text/javascript" src="js/error.handler.js"></script>
Затем, когда нажата специальная кнопка, функция AJAX загружает файл regForm.html
в тело index.html
меня есть регистрационная форма: <form name="regForm" id="regForm"action= "save_user.php" method="post"> ****** <ul id ="inputForms"> <li id="l11"><input type = "text" id="login" name="login" size="15" maxlength="15"/></li> </ul> ****** <div id="regButContainer"> <input type="submit" id="regButton2" value="Register Now" name="submit"></div></form>
Я пытаюсь сделать проверку поля ввода входа с помощью этого скрипта:
$(function(){
$( "#regForm" ).submit(function( event ) {
var errors = false;
if($('#login').value() == ""){
alert("lLOGIN CANNOT BE EMPTY!");
errors = true;
}
if (errors==true) {
return false;
}
});});
Но когда кнопка отправки нажата, скрипт не работает, поэтому он заканчивает запуск файла save_user.php для работы. Когда я использую функцию html onsubmit
и использую стандартную функцию javascript, все работает. Но есть интересные вещи, которые я хочу делать с jquery, поэтому я переключился на него, и теперь я нахожусь перед кирпичной стеной. Может ли кто-нибудь объяснить мне, почему мой скрипт отказывается работать?
изменение
$ ( '# Войти').() Значение
в
$ ( '# Войти') Вал.()
Просто добавьте event.preventDefault(); в любом случае вы хотите прекратить отправку формы. Также я считаю, что ваша проблема в том, что у вас должен быть $ ('# login'). Val() вместо $ ('# login'). Value(). обычно ваш скрипт должен работать без предупрежденияDefault();
$( "#regForm" ).submit(function( event ) {
if($('#login').val() == ""){
event.preventDefault();
alert("lLOGIN CANNOT BE EMPTY!");
errors = true;
}
Вам нужно разместить функцию $('#regForm).submit( )
после того, как форма загружена AJAX.
Предполагая, что вы используете $.load( )
для этого, он должен выглядеть примерно так:
$('#form_container').load('regForm.html', function() {
$( "#regForm" ).submit(function( event ) {
var errors = false;
if($('#login').val() == ""){
alert("lLOGIN CANNOT BE EMPTY!");
errors = true;
}
if (errors==true) {
return false;
}
});
});
Причина этого заключается в том, что форма не загружается в момент добавления события отправки.