2015-11-02 79 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