2016-12-11 3 views
0
<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"/> 
    </head> 
<body> 
    <form id="window"> 
     <input type="text" id="num1"><br /> 
     <input type="text" id="num2"><br /> 
     <input type="button" value="Calculate" onClick="main()"><br /> 
</form> 
    <script> 
     var num1 = Number(document.getElementById("num1").value); 
     var num2 = Number(document.getElementById("num2").value); 
     function main(){ 
     alert(num1 + num2); 
     } 
    </script> 
    </body> 
    </html> 

Это мой код, скажите мне, что я делаю неправильно, потому что всякий раз, когда я вызываю alert(), он просто возвращает 0 на экран. Я пробовал это в разных браузерах, но не повезло. Полегче на меня, потому что я начал только неделю назад! ``JavaScript продолжает возвращаться 0

ответ

6

Это потому что ты установка значения num1 и num2 раз, в самом начале сценария, когда входы не имеют ничего в них (Number("") is 0), не каждый раз main называется. Просто переместить эти две линии вmain поэтому значения входов, как от нажатия кнопки используются:

function main(){ 
    var num1 = Number(document.getElementById("num1").value); 
    var num2 = Number(document.getElementById("num2").value); 
    alert(num1 + num2); 
} 
0

Вы должны получить num1 и num2 внутри main(); Используйте нижеприведенный код:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"/> 
    </head> 
<body> 
    <form id="window"> 
     <input type="text" id="num1"><br /> 
     <input type="text" id="num2"><br /> 
     <input type="button" value="Calculate" onClick="main()"><br /> 
</form> 
    <script> 
     function main(){ 
      var num1 = Number(document.getElementById("num1").value); 
      var num2 = Number(document.getElementById("num2").value); 
      alert(num1 + num2); 
     } 
    </script> 
    </body> 
    </html> 
+0

Я хочу спросить тех, кто отказался от этого ответа, был ли ответ неправильным или ваш ум? –

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