2013-08-26 3 views
0

Может кто-нибудь помочь с этой валидацией?jquery validate on submit

$("#frm").submit(function() { 
    $('#mailtoperson').each(function() { 
    if ($(this).val() == '') {   
     $('#wizard').smartWizard('showMessage','Please check OK and YES once the email is ready to send'); 
    } 
    }); 

if ($('#mailtoperson').size() > 0) { 
    $('#wizard').smartWizard('showMessage','Please complete the required field.'); 
    return false; 
    } 
}) 

В принципе у меня есть «#frm» с текстовым полем «#mailtoperson» и onsubmit Я хочу, чтобы проверить, если «#mailtoperson» является пустой, и если это я хочу сообщение «pls complete» и если есть данные, то я хотите, чтобы сообщение «pls check ok» заполнилось.

Edit:

Это похоже на работу, чтобы вызвать функцию Пустое поле:

$('#frm').submit(function() 
{ 
    if(!$(this).val()) { 
      $('#wizard').smartWizard('showMessage','Please complete'); 

} 

И это работает для простой на отправить сообщение

$('#frm').submit(function() { 
$('#wizard').smartWizard('showMessage','Please check OK and YES once the email is ready to send'); 
}) 

});

Но они не работают вместе - то есть, пожалуйста, заполните, если пустой, а если не пусто «пожалуйста, проверьте нормально» ...

+3

идентификаторы должны быть уникальными, поэтому у вас есть каждый цикл в '# mailtoperson', если имеется только один элемент с таким ID? Можете ли вы разместить свой html? – Sergio

+0

Лучший рекомендуемый плагин формы jQuery -> http://malsup.com/jquery/form/ <- с ним вы можете делать такие вещи, как '... beforeSubmit: function() {if (txt ==" ") return false; } ... 'и форма не будет отправлена. Я люблю это! Я использую его для ВСЕХ моих HTML-форм! – SpYk3HH

+0

Только один ID с #mailtoperson - цикл не требуется. Я думаю. – user2683780

ответ

3
$("#frm").submit(function() { 
    if($('#mailtoperson').val().length == 0) { 
     $('#wizard').smartWizard('showMessage','Please complete...'); 
    } else { 
     $('#wizard').smartWizard('showMessage','pls check ok...'); 
    } 
}); 
+0

Как это включает функцию onsubmit? – user2683780

+0

все, я только что сбежал от функции обертки функции onSubmit и только что показал часть проверки. вы можете обернуть это в свой вызов функции отправки. –

+0

@ user2683780: сделал для вас редактирование :) –

0

Используйте если/другое заявление, также нет необходимости в цикле, так как там должен быть только один элемент с таким идентификатором:

$("#frm").submit(function() { 
    if($('#mailtoperson').val().trim() == '') {   
     $('#wizard').smartWizard('showMessage','Please check OK and YES once the email is ready to send'); 
    }else{ 
     $('#wizard').smartWizard('showMessage','Please complete the required field.'); 
    } 
    return false; 
}); 
+0

Не повезло. Форма не представилась. – user2683780

+0

@ user2683780 удалите 'return false' или добавьте его только внутри else –

+0

@ user2683780 Я не знаю, что делает smartWizard, поэтому я предположил, что вам нужно предотвратить действие отправки по умолчанию, чтобы сообщения отображались, поэтому я добавил' return false; ' –