2013-03-27 67 views
0

我有一個HTMl Web窗體,有12組11個輸入組合框。JavaScript多重測試

每組中第一個組合框的第一個/默認選項是「NO」。

用戶可以選擇「是」。

我想運行在每個組中的該第一組合框中選擇一個最初的測試中,如果返回值是YES(真),那麼我想運行在剩餘的10個輸入框的進一步測試,如果測試爲假(該默認值爲「NO」,然後跳過這個組並測試下一組中的第一個盒子。

我很失敗,我敢肯定答案是簡單的,但我只是無法解決它

請有人可以幫我這個。

if (UserRoomSelection_Room_01 == "YES") { 

if (userFirstDayOfBooking_Room_01 == "0") { 
alert("Please Select First Day Of Booking!"); 
    return false; 
} 
if (userFirstDateOfBooking_Room_01 == "0") { 
alert("Please Select First Date Of Booking!"); 
    return false; 
} 
if (userFirstMonthOfBooking_Room_01 == "0") { 
alert("Please Select First Month Of Booking!"); 
    return false; 
} 
if (userFirstYearOfBooking_Room_01 == "0") { 
alert("Please Select First Year Of Booking!"); 
    return false; 
} 
if (userLastDayOfBooking_Room_01 == "0") { 
alert("Please Select Last Day Of Booking!"); 
    return false; 
} 
if (userLastDateOfBooking_Room_01 == "0") { 
alert("Please Select Last Date Of Booking!"); 
    return false; 
} 
if (userLastMonthOfBooking == "0") { 
alert("Please Select Last Month Of Booking!"); 
    return false; 
} 
if (userLastYearOfBooking_Room_01 == "0") { 
alert("Please Select Last Year Of Booking!"); 
    return false; 
}  
if (userBoard_Room_01 == "0") { 
alert("Please Select Boarding!"); 
    return false; 
} 
if (!userRate_Room_01) { 
alert("Please Enter The Rate For This Booking!"); 
    return false; 
     } 
} 

感謝您在advanc即

+1

什麼是您的代表/ [SSCCE](http://sscce.org/))HTML? – 2013-03-27 19:01:09

回答

0

也許這樣? 確保它包裝在一個函數調用和使用return YourFunctionXXY();

var ErrorMessage; 
var AllOk=true; 
    if (UserRoomSelection_Room_01 == "YES") { 

     if (userFirstDayOfBooking_Room_01 == "0") { 
     ErrorMessage+="Please Select First Day Of Booking!\n"; 
      AllOk=false; 
     } 
     if (userFirstDateOfBooking_Room_01 == "0") { 
     ErrorMessage+="Please Select First Date Of Booking!\n"; 
      AllOk=false; 
     } 
     ........ 
    } 
    if(UserRoomSelection_Room_02 == "YES"){ 
     .................... 
    } 




     if(ErrorMessage!=""){ 
     alert(ErrorMessage); 
      return false; 
     }else{ 
      return true; 
     } 
0

回報虛假的功能;在你的代碼中斷任何進一步的執行。您可以使用Iesus Sonesson提供的標記解決方案,但這不是最佳做法。

你已經描述過算法,應該用循環來實現。例如,你可以將你的文本消息和組合存儲在數組中,然後迭代它。

for (var i in combos) { 
    if(combos[i]['0'] == 'YES') 
    { 
     //iterate other combos 
    } else { 
     // go to next combo group 
     break;  
    } 
}