2012-03-14 55 views
1

問題是重複的錯誤。例如,單擊第一個單選按鈕的「是」,然後僅爲第一個下拉單擊提交選擇紅色,您將快速連續獲得2個驗證錯誤。我如何刪除第二個?jquery創建雙驗證錯誤

+0

你應該在這裏得到什麼結果?我看到你寫了一個代碼來顯示兩條警報消息? – Jayanga 2012-03-14 04:59:18

+0

@Jayanga首先選擇是,然後點擊提交。看到2個錯誤消息? – lukey 2012-03-14 05:09:30

+0

@lukey別擔心。你的問題很清楚。您不希望一次都有錯誤消息。我解決了它。答案如下。 – 2012-03-14 05:21:22

回答

0

像這樣改變你的點擊功能。

$("input:submit").click(function() { 

    var retVal = validate(1); 


    if (!$("input[name=attendance1]").is(":checked")) { 
     alert('Please select preference for 1'); 
     return false; 
    } 
    if (!$("input[name=attendance2]").is(":checked") && retVal) { 
     alert('Please select preference for 2'); 
     return false; 
    } 
    if (!$("input[name=attendance3]").is(":checked") && retVal) { 
     alert('Please select preference for 3'); 
     return false; 
    } 
}); 

這將解決您的問題。

+0

這工作,但它提交一次,我點擊確定的錯誤? – lukey 2012-03-14 05:25:59

+0

是的,通常回調函數在表單值被髮布到後端之前執行。點擊ok按鈕後,它會提交。 – 2012-03-14 06:34:06

+0

直播時,如果不檢查attendance1,attendance2或attendance3,它不會提醒我提交。如果我選擇「是」,那麼不要選擇顏色和陰影,它會提醒我,我沒有選擇下拉菜單,但是當我點擊確定時提交 – lukey 2012-03-14 12:59:39