2011-06-28 130 views
0

我有一個驗證場景,我有兩個單選按鈕。然後我有兩個輸入文本字段。如何根據單選按鈕的選擇來更正驗證?

如果選擇了第一個單選按鈕,用戶只需要在第一個字段中輸入數據。如果選擇第二個單選按鈕,則用戶必須在第一個字段中輸入數據,在第二個字段中輸入日期。

現在當頁面加載時默認選中第一個單選按鈕。如果用戶沒有在第一個字段中輸入任何內容,並且選擇了任一按鈕,那麼在提交時會出現驗證錯誤。

現在,如果選擇了第二個單選按鈕,並且用戶在第一個字段中輸入數據並且未在第二個字段中輸入日期,則會發生驗證錯誤。

我遇到的問題是,如果用戶在第一個字段中輸入數據但未在第二個字段中輸入日期時選擇第一個按鈕,則會出現驗證錯誤。這不應該發生。如果選擇第一個按鈕,則發生驗證錯誤的唯一方法是在第一個字段中輸入了不正確的數據,或者沒有數據輸入到第一個字段中。用戶不需要在第二個字段中輸入日期。那麼,如何編寫JavaScript來反映這些情況呢?

這裏是鏈接到的jsfiddle: http://jsfiddle.net/rnnzn/

回答

1

這是一個很大的小提琴,它似乎並沒有在那裏工作。

我認爲你認爲無線電廣播的輸入工作與他們不同。不要檢查控制器名稱的值,檢查是否檢查了特定的收音機。

例如:

if(document.getElementById('myform').radioName[0].checked){ 
    //validate based on first radio selection 
}eles{ 
    //validate based on second radio selection 
} 

的重要組成部分,要記住的是,電臺的和複選框的陣列,它們不容易處理文本和選擇輸入。

+0

我剛剛跟我的項目經理談了話。因爲我剛剛從另一位開發人員那裏接過了這個項目,所以我只查看了驗證,而以前的開發人員只驗證了輸入文本框中的數據。那是我可以開始的地方。 –