Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2011, 16:50
Интересующийся
Отправить личное сообщение для Zhiganov Посмотреть профиль Найти все сообщения от Zhiganov
 
Регистрация: 25.10.2010
Сообщений: 10

Получить value из input'a.
Ситуация очень глупая =) Но я ничего не понимаю.

На странице примерно такая структура:
<form name="post" action="post.php" method="post" id="post">
...
<input type="text" name="price" id="price" value="10000" size="30" tabindex="30" style="width: 97%">
…

Пытаюсь получить через:
document.getElementById('price').value;
document.getElementsByName('price').value;
document.forms['post'].price.value;
document.post['price'].value;


Всегда получаю [undefined] или [null], якобы "is not an object."
Если убираю .value, и получаю элемент в переменную, то вроде не ругается, но добавив к элементу .value опять же получаю null. В чем косяк?

Последний раз редактировалось Zhiganov, 26.04.2011 в 17:42.
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2011, 17:00
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

потому что вы пытаетесь получить значение value элемента которого нет ещё на странице

заметьте разницу этого
<script>alert(document.getElementById('price').value)</script>
<input id="price" value="10000">

и этого
<input id="price" value="10000">
<script>alert(document.getElementById('price').value)</script>
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 26.04.2011, 17:41
Интересующийся
Отправить личное сообщение для Zhiganov Посмотреть профиль Найти все сообщения от Zhiganov
 
Регистрация: 25.10.2010
Сообщений: 10

Skipp, неее, я код примерно привел, сам скрипт у меня висит в header'e и вызывается на window.onload, так что дело не в этом
Ответить с цитированием
  #4 (permalink)  
Старый 26.04.2011, 17:52
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

а что возвращает document.getElementById('price') ?
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 26.04.2011, 18:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от Zhiganov
document.getElementsByName('price').value;
document.getElementsByName('price') -- это список элементов с одинаковым именем , поэтому необходимо указать индекс элемента в этом списке.
document.getElementsByName('price')[0].value;
Ответить с цитированием
  #6 (permalink)  
Старый 26.04.2011, 19:08
Интересующийся
Отправить личное сообщение для Zhiganov Посмотреть профиль Найти все сообщения от Zhiganov
 
Регистрация: 25.10.2010
Сообщений: 10

Мне ужасно неудобно, но в общем, я удалил все скрипты и написал заново и чудесным образом заработало, вот понемногу изучаю JS и не могу понять то ли javascript такой капризный, то ли я невнимательный.
Ответить с цитированием
  #7 (permalink)  
Старый 26.04.2011, 19:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

насчет капризов - сноси


какие капризы, если даже типизации нет????
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Получить некорректный HTML poorking Общие вопросы Javascript 11 28.04.2011 13:43
Не могу получить значение атрибута DenQ jQuery 9 06.02.2011 14:33
Получить значения доп. полей select-option arcanerain Общие вопросы Javascript 11 29.09.2010 03:02
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32