2015-11-02 56 views
0

嘿家伙我有这个代码,但我不知道我做错了什么。一旦我输入我的号码到文本框中,我点击计算什么也没有发生。即使功能Javascript

<html> 
<head> 
    <title>Week 3 - Exercise 3-3</title> 
    <script type="text/javascript"> 
     function evenTest(num1) { //function receives one parameter 
      var num=num1;   //create and assign variable to number passed 

      (num % 2==0) ? akert("Number is even"):alert("Number is odd"); 
      if (num>20) { 
        alert("Number is > 20"); 
      } 
      else { 
        alert("Number is not greater than 20"); 
               //message if <=20 
      }         //end else 
     }          //end function 
    </script> 
</head> 
<body> 
    <h1>Exerise 3-3 - Even Function</h1> 
    <form name="form1"> 
     Enter a number:<input name="firstNum" type="text"/><br/> 
     <input type="button" value ="Calculate" onclick=evenTest(form1.firstNum.value)/> 
    </form> 
</body> 

+0

有很多的代码去错了,任何人都回答之前,你看到的任何开发工具控制台错误? –

+0

你的代码包含一个明显的语法错误 –

+0

你有一个拼写错误:'akert'而不是'alert'。请使用一些浏览器开发工具(在浏览器中按F12),并在发布问题前检查此类错误。 –

回答

0

这是因为在你的代码语法错误/错字和HTML的

JS

使

akert("Number is even") 

alert("Number is even") 

所以JS的功能将

function evenTest(num1) { //function receives one parameter 
     var num=num1;   //create and assign variable to number passed 

     (num % 2==0) ? alert("Number is even"):alert("Number is odd"); 
     if (num>20) { 
       alert("Number is > 20"); 
     } 
     else { 
       alert("Number is not greater than 20"); 
              //message if <=20 
     }         //end else 
    }          //end function 

和HTML将

//把函数调用报价

<input type="button" value ="Calculate"onclick="evenTest(form1.firstNum.value)"/> 
+1

答案应该回答这个问题,而不仅仅是挑选出众多问题之一 - 这可能是一个错字 –

+0

是啊我固定那,但它仍然没有工作。 – GrumpyBro

1
<html> 
<head> 
    <title>Week 3 - Exercise 3-3</title> 
    <script type="text/javascript"> 
     function evenTest(num1) { //function receives one parameter 
      var num=num1;   //create and assign variable to number passed 

      (num % 2==0) ? alert("Number is even"):alert("Number is odd"); 
      if (num>20) { 
        alert("Number is > 20"); 
      } 
      else { 
        alert("Number is not greater than 20"); 
               //message if <=20 
      }         //end else 
     }          //end function 
    </script> 
</head> 
<body> 
    <h1>Exerise 3-3 - Even Function</h1> 
    <form name="form1"> 
     Enter a number:<input name="firstNum" type="text"/><br/> 
     <input type="button" value ="Calculate" onclick="evenTest(form1.firstNum.value)"/> 
    </form> 
</body> 
  • 你的onclick不加引号
  • 输入错误警报为akert

个人而言,我不会依赖form1是一个全局变量,要么 - 但上面的代码按预期工作

+0

Thankyou非常多 – GrumpyBro

+0

为什么我在jsfiddle中运行此代码时看到“Uncaught ReferenceError:evenTest is not defined”。这是小提琴链接 https://jsfiddle.net/pxgjjqq/ – brk

+0

因为您已将代码分开和jsfiddle上的html - 将js更改为'nowrap in head'或'nowrap in body',它奇迹般地工作,就像我说的那样 –

0

此代码可能是有用的

HTML变化

<h1>Exerise 3-3 - Even Function</h1> 
    <form name="form1"> 
     Enter a number:<input name="firstNum" id='ipV' type="text"/><br/> 
     <input type="button" value ="Calculate" id="calB"/> 
    </form> 

JS变化

var x= document.getElementById('calB'); 
     x.addEventListener('click',function(){ 
    var _getNumber = document.getElementById('ipV').value 
     evenTest(_getNumber); 

    }) 
    function evenTest(num1) { //function receives one parameter 
     var num=num1;   //create and assign variable to number passed 
      (num % 2==0) ? alert("Number is even"):alert("Number is odd"); 
       if (num>20) { 
         alert("Number is > 20"); 
       } 
       else{ 
        alert("Number is not greater than 20"); 
       }         
      } 

jsfiddle

+0

为什么你的代码没有点击按钮而提醒? –

+0

我的错误没有附加正确的小提琴网址 – brk