我有一个HTMl Web表单,包含12组11个输入组合框。
每组中第一个组合框中的第一个/默认选项为“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;
}
}
提前谢谢。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
返回false;在你的代码中断任何进一步的执行。您可以使用Iesus Sonesson提供的举报解决方案,但这不是最佳做法。
您已经描述过算法,应该使用循环来实现。例如,您可以将文本消息和组合存储在数组中,然后重复它。
for (var i in combos) {
if(combos[i]['0'] == 'YES')
{
//iterate other combos
} else {
// go to next combo group
break;
}
}