Я только что собрал красивую форму, которая заняла у меня несколько часов, с некоторой хорошей проверкой jQuery focusout.Атрибут focusout прикрепляется к полям ввода onload.Затем я снова использую свои функции проверки, вызывая событие focusout при отправке, но я не знаю, как отключить отправку формы в случае сбоя какой-либо из моих функций проверки.Полный пример здесь (jsfiddle)
Пример сокращения:
addLoadEvent (AttachVal);
функция AttachVal () {
$('input[name="FirstName"]').focusout(NameTest);
$('input[name="LastName"]').focusout(NameTest);
$('form[name="Register"]').submit(SubmitRegForm);
}
функция SubmitRegForm () {
$('input[name="FirstName"]').trigger('focusout');
$('input[name="LastName"]').trigger('focusout');
alert ("Submitting");
return false;
}
Функция проверки:
function NameTest(){
var result = true;
var EnteredValue = $(this).val();
var alphaExp = /^[a-zA-Z ]+$/;
if (!(EnteredValue.match(alphaExp)))
{
var result = "Invalid";
}
if (result !== true)
{
$(this).parent().next().children('span.ErrorDescript').text(result);
}
else
{
$(this).parent().next().children('span.ErrorDescript').text("");
}
}
Я пытался прикрепить переменную в функции SubmitRegForm следующим образом:
var FNStat = $('input[name="FirstName"]').trigger('focusout');
с целью проверить их все и отправить, если они все возвращают true, но это простовозвращает объект.Можно ли получить текст ответа от этой функции? ... может быть?Или есть другой способ принудительно остановить событие Submit, которое в настоящее время выполняется из моих индивидуальных функций проверки?
Как всегда, любой совет очень ценится.
Dan