4

送信時にフォームを検証しようとしていますが、入力がすべて入力されている場合は、register.php に送信されます。

私の問題は、すべての入力が空白の場合にのみ機能することです-それ以外の場合はエラーです-送信する前に、これらのフィールドのいずれかが空白かどうかを確認しようとしています

function submitform() {
    if ($('#name, #email, #user, #address, #phone').val().length === 0) {
        $(this).addClass('warning');
    } else {
        alert("form submitted");
    }
}
4

3 に答える 3

3

配列に対して.valを実行することはできません。そのはず

function submitform(){
   var warning = false;
   $('#name, #email, #user, #address, #phone').each(function() {
      $(this).val().length === 0){
         warning = true;
         return;
      }
   });
   if(warning) {
      $(this).addClass('warning');
   } else {
      alert("form submitted");
   }
}
于 2012-08-10T21:28:15.403 に答える
2

eachjqueryの関数、またはforループを使用して、それぞれをチェックする必要があります。

$('#name, #email, #user, #address, #phone').each(function(){
    if ($(this).val().length === 0){
        $(this).addClass('warning');
    } else {
     alert("form submitted");
   }
});

これは、forを使用した同じ例です

var formElements = $('#name, #foo');

for (i = 0 ; i < formElements.length ; i++)
{
    if ( $(formElements[i]).val().length === 0 )
       $(this).addClass('warning');
    else {
       alert("form submitted");
    }
}

</ p>

于 2012-08-10T21:26:25.363 に答える