Получение значения для возведения в степень.
Добрый день. Не могу найти ошибку в коде. В результате вычислений, независимо от введённых данных, получается "1".
<html> <head> <script type='text/javascript'> var b = document.getElementById("val"); var a = Math.pow(3,b); </script> </head> <body> <input id="val" type="text"/> <input type="button" onclick="alert(a)"/> </body> </html> |
Цитата:
var b = document.getElementById("val")*!*.value*/!*; и скрипт должен выполнятся после того, как элемент появляется в документе |
Спасибо, но всё-равно не работает. После добавления .value, выдаёт undefined.
|
Даже если разместить его правильно, то толку от него будет не много т.к. выполнится он сразу в момент загрузки, а при загрузке в инпуте ничего нет, поэтому степень будет равна пустой сроке, что эквивалентно 0 и получится в алерте всё та же единица.
Как вариант можно обернуть весь код в функцию и ее вызывать по клику: <!DOCTYPE HTML> <html> <head> </head> <body> <input id="val" type="text"/> <input type="button" onclick="pow()"/> <script type='text/javascript'> function pow() { var b = document.getElementById("val").value; var a = Math.pow(3,b); alert(a); } </script> </body> </html> |
<html> <head> </head> <body> <input id="val" type="text"/> <input type="button" onclick="alert(a)"/> <script type='text/javascript'> var b = document.getElementById("val").value; var a = Math.pow(3,b); </script> </body> </html> Теперь, при вводе любых значений, результат = 1. |
Ой, спросоня не обновила страницу(
Спасибо jsnb, всё работает. |
Часовой пояс GMT +3, время: 23:03. |