0

我有一个带有 12 组 11 个输入组合框的 HTMl Web 表单。

每个组中第一个组合框中的第一个/默认选项是“NO”。

用户可以选择“是”。

我想在每个组中的第一个组合框上运行初始测试,如果返回值为 YES (true),那么我想在剩余的 10 个输入框上运行进一步测试,如果测试为 false(默认值为 " 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;
       }
}

先感谢您。

4

2 回答 2

0

返回假;在您的代码中中断任何进一步的执行。您可以使用 Iesus Sonesson 提供的标记解决方案,但这不是最佳做法。

您已经描述了算法,应该使用循环来实现。例如,您可以将文本消息和组合存储在数组中,然后对其进行迭代。

for (var i in combos) {
    if(combos[i]['0'] == 'YES')
    {
        //iterate other combos
    } else {
        // go to next combo group
        break;     
    }
}
于 2013-03-27T19:49:15.253 回答
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;
        }
于 2013-03-27T19:16:13.190 回答