Показать сообщение отдельно
  #1 (permalink)  
Старый 17.04.2013, 00:00
Новичок на форуме
Отправить личное сообщение для iser77 Посмотреть профиль Найти все сообщения от iser77
 
Регистрация: 18.06.2010
Сообщений: 5

Прошу помощи с ValidationEngine
Здравствуйте!

Очень прошу, кто может, помогите решить проблему с ValidationEngine

Есть форма размещения информации пользователем. Если пользователь не авторизирован и нужна регистрация, он вводит свой емэйл, нажимает кнопочку, ajax проверяет присутствует ли введенный адрес в базе данных или нет. Если да - под полем для емэйла появляется поле для пароля и приглашение авторизироваться, если нет - появляются несколько полей для быстрой регистрации (тут опять же, инфа отправится на сервер для обработки ajax -ом, то есть проверка и отправка всей формы не нужна). После удачной регистрации, появляется кнопка размещения информации (отправки всей формы).

Это я рассказал о процессе в общем.
Так вот, проверка всей формы этим плагином работает прекрасно.
Но мне нужно проверить всего одно поле - поле для емэйла - независимо от всей формы! То есть, когда чел вводит свою почту, нажимает кнопочку ОК - он должен видеть сообщение об ошибке если он ввел не корректный емэйл, или вообще не ввел его. У меня как бы получается, но одновременно с выполнением этой проверки выполняется еще и скрипт который должен быть выполнен только при отправке и проверки всей формы.

Щас попробую показать код:

/*  СКРИПТ №1  */
$(document).on("click", "#AddInfoEmailButton", function(){
        var valid=$("#AddInfoEmail").validationEngine('validate');
        //console.log(valid);      
        if(valid){
            $.ajax({
                type: "POST",
                url: "{URL to server script}",
                beforeSend: function(){ /*some code here*/ },
                success: function (response){ /* обработка после отправки емэйла. Регистрация или авторизация */ }
            })
        }
    })

/*  СКРИПТ №2  */
$("#<?=$formName?>").validationEngine({
       promptPosition:'topLeft', 
       scroll: false,
       binded: false,
       onValidationComplete: function(form, status){
           if(status==true){                    
               $.ajax({
                    type: "POST",
                    url: rooturl+"{URL to server script}",
                    data: $("#<?=$formName?>").serialize(),
                    beforeSend: function(){ /*some code here*/ },
                    success: function (response){ /* обработка после отправки всей формы */ }
                })
            }
        }
    });


Этот скрипт, при нажатии на кнопку
#AddInfoEmailButton
проверяет поле
#AddInfoEmail
, выводит сообщение об ошибке, НО кроме этого, почему то срабатывает $.ajax из /* СКРИПТ №2 */ потому что я вижу на странице сообщение от выполнения кода
success: function (response){ /* обработка после отправки всей формы */ }
, хотя остальные поля формы пустые, и по идее форма не должна быть отправлена.

Дайте совет, как поступить...

Благодарю!

Последний раз редактировалось iser77, 17.04.2013 в 00:04.
Ответить с цитированием