Получение значения для возведения в степень.
Добрый день. Не могу найти ошибку в коде. В результате вычислений, независимо от введённых данных, получается "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, время: 04:52. |