Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2014, 20:28
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

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

Последний раз редактировалось Octane, 17.04.2014 в 20:35. Причина: форматирование
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2014, 20:34
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Blondinka
var b = document.getElementById("val");
var b = document.getElementById("val")*!*.value*/!*;

и скрипт должен выполнятся после того, как элемент появляется в документе
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2014, 20:59
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

Спасибо, но всё-равно не работает. После добавления .value, выдаёт undefined.
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2014, 03:52
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Даже если разместить его правильно, то толку от него будет не много т.к. выполнится он сразу в момент загрузки, а при загрузке в инпуте ничего нет, поэтому степень будет равна пустой сроке, что эквивалентно 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>
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2014, 09:53
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

<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.
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2014, 10:01
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

Ой, спросоня не обновила страницу(
Спасибо jsnb, всё работает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
AJAX обращение к файлу php и получение значения zeraid jQuery 8 28.03.2011 14:46
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31