JQuery условия и проблемы Ajax - PullRequest
0 голосов
/ 09 марта 2011

Я пишу форму, которая изменит все настройки профиля пользователя.Я правильно настроил HTML и PHP, но использую условные выражения jQuery, и Ajax оказывается проблемой.

Он должен проверяться для электронного письма, если оно есть.Затем следует убедиться, что изменение не является изменением пароля (если это так, убедитесь, что пароли совпадают, а затем опубликовать), а затем опубликовать, если форма была действительной.Кажется, не учитываются какие-либо условия и сообщения независимо.

     $("profSet").validate({
        rules: {
            chem: {
                email: true
            }
        }
     });

    $('#subSet').live('click',function() {
        if($("#chfn").val() == 0 && $("#chln").val() == 0 && $("#chpw").val() == 0 && $("#chpw2").val() == 0 && $("#chem").val() == 0)
        {
            if($("#profSet").valid())
            {
                if($("#chpw").val() == "" && $("#chpw2").val() == "")
                {
                    $.post('php/profSet.php', $('#profSet').serialize(), function(){
                        $('#profSet').hide();
                        $('#success').show();
                    });
                }
                else
                {
                    if($("#chpw").val() == $("#chpw2").val())
                    {
                        $.post('php/profSet.php', $('#profSet').serialize(), function(){
                            $('#profSet').hide();
                            $('#success').show();
                        });
                    }
                    else
                    {
                        $('#error').show();
                    }
                }   
            }
        }
    });

Любая помощь?

1 Ответ

1 голос
/ 09 марта 2011

Возможно, вы захотите объявить var valid = true в начале вашего метода click и установить его в false, если какая-либо из ваших проверок не удалась, затем в конце ваших методов проверки выполните проверку if(!valid) { e.preventDefault() }, чтобы остановить распространение события.,Ваш обработчик ничего не делает, чтобы остановить распространение событий прямо сейчас.Для этого вам нужно изменить функцию обработки анонимных кликов, чтобы она принимала событие в качестве параметра, который я назвал «е», чтобы вы могли закорочить отправку.

...