2013-03-04 72 views
1

我正在使用外部驗證庫來檢查是否已填寫或未填寫字段。這工作正常。jQuery驗證和提醒

然後我想要顯示一個提示,當所有的字段填寫正確並且用戶點擊提交。

下面的代碼:

<select id="selectsizes" class="required"> 
    <option></option> 
    <option>1</option> 
    <option>2</option> 
</select> 
<input type="Text" id="txtName" name="Name" value="" class="required"> 

$(document).ready(function(){ 
    $("#Form").submit(function() { 
    if ($('.required').val() != "") { 
     alert("Thank you."); 
     return false; 
    } 
    }); 
}); 

我在原來的形式更多的領域,這只是爲了說明的緣故。 如果我從select中選擇一個選項或者填寫輸入字段,則在按下提交時警報將觸發。在所有驗證錯誤消失之前,它不應該開火。

回答

0

通過所有的輸入創建一個變種,例如var error = false;

週期和選擇,如果你有未充滿了var設置爲true error = true;

最後輸入:

if (!error) { 
    alert("Thank you."); 
    return false; 
} 

您可以通過以下方式循環訪問所需的字段:

$('.required').each(function() { 
    //DO STUFF 
    if ($(this).val() == "") { 
    error = true; 
    } 
}); 
1

你需要檢查每個輸入單獨的值,然後檢查是否他們都有一個值等等,像這樣:

$(document).ready(function() { 
    $("#Form").submit(function() { 
     var val = $.map($('.required'), function (el, i) { 
      if (!$.trim(el.value).length) return el; 
     }); 
     if (!val.length) { 
      alert("Thank you."); 
      return false; 
     } 
    }); 
}); 

FIDDLE

+0

非常感謝!這正是我所期待的,它的工作原理非常完美。 – user2132222 2013-03-05 08:38:32