У меня небольшая проблема с Jquery и я думаю, может ли кто-нибудь помочь
У меня есть форма, которую я проверяю на размытие
$('form#setAdminUser :input').blur(function () {
var $item = $(this);
var $itemWrapper = $(this).parent();
$itemWrapper.find('input').removeClass('errorRow').end()
.find('span').remove();
// There are other validation rules here I have ommitted..
// Email validation
if (this.id == 'sEmail') {
// Email Unique
if (this.value != '') {
var errorMessage = 'Checking availability';
var emailData = {sEmail: itemValue}
$.getJSON('http://localhost:8501/ems/trunk/www/cfcs/admin_user_service.cfc?method=getAdminUser&returnFormat=json&queryformat=column', emailData,
function(data){
if (data != false) {
var errorMessage = 'This email address has already been registered';
$itemWrapper.find('span').text(errorMessage).addClass('errorInfoFalse').removeClass('errorInfoTrue');
$item.addClass('errorRow');
}
else {
var errorMessage = 'Good';
$itemWrapper.find('span').text(errorMessage);
$item.removeClass('errorRow');
}
})
}
}
Это отлично работает и проверяет, есть ли адреса электронной почты, добавленные в форму, уже в базе данных. Если это так, то отображается ошибка, если не все происходит.
Затем я снова вызываю эту проверку при отправке формы, вызывая размытие в полях проверки.
$('#setAdminUser').submit(function(){
$('#submitMessage').remove();
$(':input.conditional').trigger('blur');
$(':input.text_field').trigger('blur');
var numWarnings = $('.errorRow',this).length;
if (numWarnings) {
// Show error messages
}
else {
// Everything is fine, create User
}
return false
})
Если какое-либо из других полей недопустимо, в то время как поле электронной почты недействительно, например, слишком короткий пароль или поля, оставленные пустыми, при отправке формы вызывается проверка по размытию. отображаются все ошибки, в том числе и электронная почта, а пользователь не создан.
Однако, если только поле электронной почты недействительно, ошибки не отображаются, и пользователь создается. Я предполагаю, что это потому, что проверка электронной почты - это вызов ajax, и это происходит слишком медленно? Есть идеи? Спасибо