2013-03-27 3 views
0

У меня есть HTMl веб-форма с 12 группами из 11 входных комбинированных ящиков.JavaScript Несколько тестов

Первый/стандартный вариант в первом поле со списком в каждой группе - «НЕТ».

Пользователь имеет возможность выбрать «ДА».

Я хочу запустить начальный тест в этом первом поле со списком в каждой группе, если возвращаемое значение равно YES (true), тогда я хочу запустить дополнительные тесты в оставшихся 10 вводах, если тест является ложным (The значение по умолчанию «НЕТ», затем пропустите эту группу и проверите первое поле в следующей группе.

Я проваляюсь, и я уверен, что ответ прост, но я просто не могу это решить.

Пожалуйста, может кто-то помочь мне с этим.

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? –

ответ

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;  
    } 
} 
Смежные вопросы