Почему я не могу получить значение этого поля ввода текста? - PullRequest
1 голос
/ 08 июня 2011

У меня есть div, который содержит поле ввода текста:

<div id="age" class="fullScreen">
  <input type="text" id="age" class="textInput" placeholder="Please enter age..." />
  <button type="button" onclick="submitAge()">Submit</button>
</div>

submitAge () выглядит так:

function submitAge() {
  var ageVal = document.getElementById("age").text;
  alert(ageVal);
}

Но в Google Chrome и Webkit Nightly я вижу предупреждение с текстом «undefined» (я не могу проверить ни в одном другом браузере, потому что страница содержит веб-сокеты).

Инструменты разработчика Chrome показывают это:

ageVal: undefined

Я предполагаю, что проблема в том, что ввод не в форме, но я не хочу, чтобы он был в форме, потому что я буду отправлять данные через веб-сокеты.

Нужно ли указывать его в форме или есть лучшее решение?

Спасибо.

Ответы [ 6 ]

6 голосов
/ 08 июня 2011

Вы переопределили id "age". Переименуйте ваш div или input, и все будет в порядке.

4 голосов
/ 08 июня 2011

Попробуйте:

function submitAge() {
  var ageVal = document.getElementById("age").value;
  alert(ageVal);
}
1 голос
/ 08 июня 2011

У вас <div> есть идентификатор возраста. Это вернет либо div, либо массив HTMLElements. Получите уникальный идентификатор ввода, и вы получите золотой

1 голос
/ 08 июня 2011

Попробуйте

document.getDocumentById("age").value;
1 голос
/ 08 июня 2011

Изменение:

 var ageVal = document.getElementById("age").text;

до

 var ageVal = document.getElementById("age").value;
1 голос
/ 08 июня 2011
var ageVal = document.getElementById('age').value;

alert(ageVal)

Запишите .value вместо текста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...