Сценарий проверки формы JQuery не работает

0

Привет, у меня есть проблема с вызовом 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, поэтому я переключился на него, и теперь я нахожусь перед кирпичной стеной. Может ли кто-нибудь объяснить мне, почему мой скрипт отказывается работать?

Теги:

3 ответа

0

изменение

$ ( '# Войти').() Значение

в

$ ( '# Войти') Вал.()

  • 0
    все еще не работает
  • 0
    вы получаете предупреждение?
Показать ещё 3 комментария
0

Просто добавьте event.preventDefault(); в любом случае вы хотите прекратить отправку формы. Также я считаю, что ваша проблема в том, что у вас должен быть $ ('# login'). Val() вместо $ ('# login'). Value(). обычно ваш скрипт должен работать без предупрежденияDefault();

http://jsfiddle.net/cra5L/

$( "#regForm" ).submit(function( event ) {

    if($('#login').val() == ""){
        event.preventDefault();
        alert("lLOGIN CANNOT BE EMPTY!");
        errors = true;        
    }
  • 0
    я думал об этом, а он все еще вроде не существует
  • 0
    скрипка работает, как предназначено для вас?
Показать ещё 4 комментария
0

Вам нужно разместить функцию $('#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;
        }
    });
});

Причина этого заключается в том, что форма не загружается в момент добавления события отправки.

  • 0
    Но почему форма загружается нормально, когда я использую javascript вместо jquery?
  • 0
    Ну, это не похоже, что это проблема с загрузкой формы, так как ваше пользовательское действие отправки не работает. Я думаю, что событие $ ('# regForm'). Submit () не принимается во внимание, потому что вы пытаетесь добавить его до загрузки формы.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню