2013-02-21 161 views
0

我試圖在javascript中執行「if/then」語句,但「then」命令被忽略。任何想法爲什麼?if then語句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'。哪一個似乎不起作用?你是怎麼做到的? – 2013-02-21 16:01:18

+0

難道你不會混淆名字和ID嗎? – 2013-02-21 16:02:53

+1

在if語句上設置一個斷點,然後使用「add watch」來評估if語句內部表達式的不同部分,以確定左側不等於右側的原因 – Brandon 2013-02-21 16:04:40

回答

0

我假設你的「then」是div的顯示。在這種情況下,我會做這樣的事情:

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 – 2013-02-22 02:31:05

0

你的問題意味着你想一個如果/那麼的行爲(在JavaScript中,這是更適當地稱爲一個if/else語句),但結構化你的代碼的方式,不存在「那麼」 。下面是if語句應該如何工作:

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

這看起來像if/then-else/then :) – Nebril 2013-02-21 16:19:38

+0

那麼,鑑於Javascript沒有'then'語句,我假設OP的意思是'if/else',並據此做出回答。但是我錯誤地理解了這一點。 – 2013-02-21 16:21:54