2013-02-21 185 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