2013-02-21 3 views
0

Я попытался выполнить оператор «if/then» в javascript, но команда «then» игнорируется. Любые идеи о том, почему?if then statement javascript

В частности, я хочу, чтобы форма была проверена, чтобы два текстовых поля не были пустыми и один раз это подтверждено. Я хочу, чтобы появился идентификатор DIV ID = section2.

function checkanswers() { 
    var fdet = document.wastheform; 

    if (fdet.question_type[0].checked) { 
     var elements = new Array("name","address"); 
     var elements_name = new Array("name", "address"); 
     for (var i = 0; i < elements.length; i++) { 
      if ($("#" + elements[i]).val() == "") { 
       err = "Please enter " + elements_name[i] + ""; 
       alert(err); 
       return false; 
      } 
     } 
     $("#section2").show(); 
    } 
+0

У вас есть два 'if' здесь. Какой из них, похоже, не работает? И как ты это сделал? –

+0

Разве вы не путаете имена и идентификаторы? –

+1

установить точку прерывания в операторах if, а затем использовать «добавить часы» для оценки различных частей выражения внутри оператора if, чтобы определить, почему левая сторона не равна правой стороне. – Brandon

ответ

0

Я предполагаю, что ваш «тогда» является показом в делах. В этом случае я бы сделал примерно следующее:

function checkanswers() { 
    var fdet = document.wastheform; 

    if (fdet.question_type[0].checked) { 
     if(withoutValue("#name")) { 
      alert("Please enter name") 
     } 
     else if(withoutValue("#address")) { 
      alert("Please enter address") 
     } else { 
      $("#section2").show(); 
     } 

    } 
} 

function withoutValue(selector) { 
    return $(selector).val() === ""; 
} 

Это то, что вы ищете?

+0

Спасибо @Mike Hogan –

0

Ваш вопрос подразумевает, что вы хотите, если/то поведение (в JavaScript, это более правильно называют как если/другое заявление), но, как вы структурирован ваш код, нет «то» , Вот как, если оператор должен работать:

if (condition) 
{ 
    // do something if the condition is true 
} 
else 
{ 
    // do something if the condition is false 
} 
+1

Это выглядит как if/then-else/then :) – Nebril

+0

Ну, учитывая, что Javascript не имеет оператора «then», я предполагал, что OP означает «if/else» и отвечает соответственно. Но это, конечно, возможно, я неправильно понял. –