Проверка формы JQuery - PullRequest
       20

Проверка формы JQuery

4 голосов
/ 08 июня 2009

Ну, моя проблема в том, что у меня есть форма, которую я хочу проверить поля с помощью jquery, если данные верны, я позволяю продолжить, если нет, я отключаю поведение по умолчанию, возвращая false учебник, здесь ).
поэтому я использовал, как я сказал, синтаксис jquery, когда документ готов, я зарегистрировался для события нажатия кнопки, проблема в том, что код никогда не будет выполнен. Я использовал Firebug, но без понятия. ничего не происходит, вот мой код:

$('#submitBtn').click(function()
{
    var password1 = $('#form_password').val();
    var password2 = $('#form_password2').val();
    if( password1 != password2)
    {
        alert("the two passwords are not equal.");
    }
    return false; //to disable the default behavior of the submit btn
});

Ответы [ 4 ]

6 голосов
/ 08 июня 2009

Надлежащим способом проверки отправки формы является проверка события submit формы, а не события click кнопки. Измените это вокруг, и то, что у вас есть, должно работать, хотя, как сейчас, оно всегда делает return false;, поэтому форма никогда не будет отправлена. Это должно сделать это:

$('#myform').submit(function() {
        var motPasse1 = $('#form_motPasse').val();
        var motPasse2 = $('#form_motPasse2').val();
        if(motPasse1 != motPasse2){
            alert("Les deux mot de passe ne sont pas identiques");
            return false; // cancel form submission if passwords don't match
        }
        return true; // return true if no errors
});

Наконец, я надеюсь, что вы не держите alert там для производственных целей. :) Есть намного, намного лучшие способы отобразить пользовательские уведомления, чем предупреждение. Проверьте этот вопрос для некоторых предложений, хотя что-то простое, например, с ошибкой <div> и ее исчезновением, лучше, чем уродливое окно предупреждения браузера по умолчанию.

2 голосов
/ 29 сентября 2011

Вы должны взглянуть на плагин проверки JQuery . Он поддерживается одним из членов команды JQuery и помогает упростить проверку формы на стороне клиента.

2 голосов
/ 08 июня 2009

Поскольку вы сказали, что используете форму, вы можете связать ее с событием submit:

$('form#id').submit(function(){
  // your validation code
});
0 голосов
/ 08 июня 2009

ваша проблема в том, что вы всегда возвращаете false, это должно выглядеть следующим образом:

$('#envoyerButton').click(function()
{
        var motPasse1 = $('#form_motPasse').val();
        var motPasse2 = $('#form_motPasse2').val();
        if( motPasse1 != motPasse2)
        {
                alert("Les deux mot de passe ne sont pas identiques");
                return false;
        }
        return true;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...