2016-01-19 3 views
1

Я хочу получить значение из HTML в свой Javascript.Как сохранить значение из формы в переменной?

Так вот входной блок HTML в теле

<input type="text" name="paa" value="0" size="3"> 

И вот скрипте Часть

var paa = document.getElementById("paa").value; 

Но я только получаю Null и когда я ParseInt это я получаю только NaN.

Конечно, я делаю что-то неправильно, но я понятия не имею, что я искал его, но и другие темы, кажется, работает нормально, как это или использовать другие вещи, как JQuery ..

Все, что я хочу - получить значение из ввода HTML в переменную Javascript.

+4

Если вы хотите извлечь значение из элемента по идентификатору, вам необходимо сначала установить идентификатор. lmenus

+4

Установить 'ID = paa' <' input type = "text" id = "paa" value = "0" size = "3"> ' –

+4

Вы используете' getElementById', но ваш элемент не имеет идентификатора. –

ответ

3

Ваш элемент имеет name из "paa", неid из "paa". Вместо getElementById() вы должны будете использовать:

document.getElementsByName("paa") 

Это возвращает коллекцию любых элементов с этим атрибутом name. Чтобы получить доступ к каждому отдельному, вам нужно будет использовать его индекс. Если у вас есть только один "paa" элемент на странице, вы можете использовать:

document.getElementsByName("paa")[0].value 
+2

Ничего себе, я думаю, что это самый быстрый снимок, который я когда-либо получал ... @downvoter, вы не можете прочитать мой ответ, так почему бы объяснить почему? –

+1

Можете думать о двух вещах. (1) В большинстве случаев люди, использующие 'имя', означают не что иное, как идентификацию элемента, и в этом случае лучшим советом было бы перейти на использование' id'. (2) Этот вопрос действительно относится к категории конкретного аромата опечатки. Он соответствует критерию *, разрешенному таким образом, который вряд ли поможет будущим читателям *. Никто не может найти ответ на подобную проблему, возможно, сможет найти это. Кроме того, ОР не узнал ничего, что помогло бы ему решить что-то другое, кроме этой конкретной узкой проблемы в будущем. –

+0

Это потрясающая идея! Большое спасибо. – newtothis

8

Изменить

<input type="text" name="paa" value="0" size="3"> 

в

<input type="text" name="paa" value="0" id="paa" size="3"> 
+1

Такой нуб, большое спасибо! Я все еще хочу, чтобы это был всего лишь один язык, но это очень поможет. – newtothis

+1

простой ошибка сделать, проблем нет. Также, если вы удовлетворены ответом на свой вопрос, обязательно подтвердите его, иначе люди будут продолжать публиковать на этом вопросе. – Christophvh

1

Так вот входной блок HTML в теле

<input type="text" id="paa" value="0" size="3"> 

А вот та часть скрипт

<script> 
    var paa = document.getElementById("paa").value; 
    alert(paa) 
</script> 
+0

За исключением этого, удалив атрибут 'name', вы потенциально нарушили представление форм, частью которого был этот элемент ввода. –

+0

Это просто сработало для меня. –

1

Вам просто нужно добавить идентификатор к вашему входному элементу, например:

<input type="text" id="paa" name="paa" value="0" size="3"> 

Это потому, что вы используете getElementById, но ваш элемент не имеет идентификатора.

Рабочий пример: https://jsfiddle.net/JohnnyWalkerDesign/gs9ek11L/

0

Вы просто забыли атрибут ID в вашем HTML

<input type="text" **id="paa"** name="paa" value="0" size="3"> 

Почему бы не использовать JQuery? Это упростит вашу жизнь при работе с HTML DOM.

var value = $('#paa').val(); 
+0

Что с этим проще? –

+0

Вам не нужен тип "document.getElementById (" elementId "). Value". Просто используйте $ ('# elementId'). Val(); И это еще не все о jquery, и я думаю, вы знаете это, torazburo :) – rochasdv