2015-10-07 151 views
-1

我的Javascript代码(在HTML文档中)不返回任何输出。没有if/else,它的功能,但即使是一个简单的if不起作用。Javascript if/else语句不返回输出

目标:找出HTML输入值的模数,并返回即使0和奇数(如果有的话)。

代码(一个或多个):

HTML输入+按钮:

<input id="num" type="number" min="1" name="num"> 
     <button onclick="calculate(); evenodd(); return false;">Go</button> 

(该calculate()是另一个JS函数,它完美地工作)

HTML输出:

<p id="evod"></p> 

Javascript:

<script type="text/javascript"> 

     function evenodd() { 


     var num2 = parseInt(document.getElementById("num").value); 


     if (num2 % 2) == 0) { 
      document.getElementById("evod").innerHTML = "Even"; 
      } 

     else { 
      document.getElementById("evod").innerHTML = "Odd"; 
      } 

     } 

    </script type="text/javascript"> 
    </script> 
+0

does even even()'even run?试试console.log也许吧?你已经有了另一个名为calculate()的函数,如果不存在(根据你提供的代码,它不会),我不认为下一个函数会执行。 –

+1

保持浏览器开发者控制台处于打开状态。当您的JavaScript代码不起作用时,首先要做的是检查控制台中的错误! – Pointy

+0

你已经用jquery标记了这个标签,但是即使是最基本的jquery也没有使用 - 请删除标签或确认它可以被删除。 –

回答

5

你有一个语法错误:

if (num2 % 2) == 0) { 

你缺少左括号立即num2为使前:

if ((num2 % 2) == 0) { 

而且,你有不良HTML。你的脚本应该被格式化为:

<script type="text/javascript"> 
// JS code 
</script> 

你不应该在结束标记中拥有属性。

要自己调试它,请尝试在浏览器中打开开发者控制台(在大多数情况下,按Ctrl + Shift + J或F12将会到达那里)并查看报告的错误。