2014-11-28 8 views
-1
<html> 
<head> 
<script type="text/javascript"> 
function exe() 
{ 
    document.getElementById("cal").addEventListener("click", checkNumber,false);//after the load event,it call this function to register button event 
} 
function checkNumber() 
{enter code here 
    var number1 = parseInt(document.getElementById("number")); 
    var number2 = document.getElementById("textbox"); 
    var isPrime = true; 

       if (isNaN(number1)) 
        number2.value = (number1 + " is not a valid number! Try again!"); 
       else{ 
        if (number1 == 1) 
         number2.value = (number1 + " is not prime!"); 
        else{ 
         for (var i=2; i<number1; i++){ 
          if (number1 % i == 0){ 
strong text        number2.value = (number2 + " is not prime. It is divisible by " + i + "."); 
           isPrime = false; 
           break; 
          } 
         } 

         if (isPrime) 
          number2.value = (number1 + " is prime!"); 
        } 

} 
window.addEventListener("load",exe,false);//the first load of the page will execute this function and call function exe() 
</script> 
</head> 
<body> 
<form action="#" id="form1"> 
<h1 align="center">prime number calculator</h1><br> 
<input align="center" type="text" size="" name="number" id="number"/><br> 
<input type="button" name="cal" id="cal" value="Calculate" /> 
</form> 
<section> 
<input align="center" type="text" size="" name="num2" id="textbox"/> 
</section> 
</body> 
</html> 

Я изучал javascript до этого, но метод, который я использую onclick or onload, я никогда не использовал addEventListener раньше, мой код не работает вообще. Во-первых, когда страница загружается, я регистрирую событие для запуска другой функции и регистрирую событие для кнопки, после чего я вызываю другую функцию для дальнейших вычислений, но она не будет работать вообще. Я не знаю, какие строки кодов неуместны, это условие должно использовать addEventListener.addEventListener в JavaScript

+0

почему есть «ввести код здесь» в начале функции? – Mainz007

+0

Я предполагаю, что эти «ввести код здесь» и «сильный текст» не засоряются над вашим фактическим кодом? – Bergi

+0

не спешите переписывать свой вопрос, поэтому его можно понять –

ответ

1

В коде есть несколько ошибок. Вот исправленная версия

<html> 
<head> 
<script ="text/javascript"> 
function exe() 
{ 
    document.getElementById("cal").addEventListener("click", checkNumber,false);//after the load event,it call this function to register button event 
} 
function checkNumber() 
{ 
    var number1 = parseInt(document.getElementById("number").value); 
    var number2 = document.getElementById("textbox"); 
    var isPrime = true; 

       if (isNaN(number1)) 
        number2.value = (number1 + " is not a valid number! Try again!"); 
       else{ 
        if (number1 == 1) 
         number2.value = (number1 + " is not prime!"); 
        else{ 
         for (var i=2; i<number1; i++){ 
          if (number1 % i == 0){ 
           number2.value = (number1 + " is not prime. It is divisible by " + i + "."); 
           isPrime = false; 
           break; 
          } 
         } 

         if (isPrime) 
          number2.value = (number1 + " is prime!"); 
        } 
       } 

} 
window.addEventListener("load",exe,false);//the first load of the page will execute this function and call function exe() 
</script> 
</head> 
<body> 
    <form action="#" id="form1"> 
     <h1 align="center">prime number calculator</h1><br> 
     <input align="center" type="text" size="" name="number" id="number"/><br> 
     <input type="button" name="cal" id="cal" value="Calculate" /> 
    </form> 
    <section> 
     <input align="center" type="text" size="" name="num2" id="textbox"/> 
    </section> 
</body> 

+0

Большое вам спасибо, доброе сердце, да благословит вас Бог. –

+0

Добро пожаловать. Можете ли вы принять ответ, если он сработал для вас. Благодарю. – Diptendu

Смежные вопросы