2013-06-06 6 views
-1

Я написал этот код, у меня есть текстовое поле, и когда я что-то ввожу в текстовое поле и нажимаю submit.the значение текстового поля должно вызывать окно сообщения. как это сделать? Просьба помочь мнекак получить значение ввода текста в javascript

вот что я попробовал

<form name="input" action="#" method="post" 
    <input type="text" name="cost" value=" "> 
</form> 

JavaScript:

var trlist = document.getElementsByName("cost"); 
    alert(trlist); 

Как получить значения из текстового поля и распечатать его в alertbox?

+0

Вы должны просто искали ответ в StackOverflow, это очень общий вопрос. – GEMI

ответ

2

лучше, что вы объявили id внутри <input type="text" name="cost" value=" ">

<form name="input" action="#" method="post" 
    <input type="text" name="cost" value=" " id="cost"> 
</form> 

и после того, как вы звоните с:

var trlist = document.getElementById("cost").value; 
    alert(trlist); 

EXample

В вашем случае, когда вы используете getElementbyname возврата undefined JSFIDDLE

И если вы хотите использовать getElementbynamesolution on JSFIDDLE

+1

Что такое 'getElementbyname'? – VisioN

+0

и почему 'getElementById' * лучше *? – ManseUK

1

Используйте value.

Также следует отметить, что getElementsByName возвращает HTMLCollection и как таковой вы должны получить правильный узел - в вашем случае первый (0). Docs for getElementByName here

Таким образом, вы должны делать

var trlist = document.getElementsByName("cost")[0].value; 
alert(trlist); 

Docs for HTMLInputElement here

1

Вы должны использовать .value, чтобы получить значение

document.getElementsByName.('cost')[0].value; 
1

Существует В value свойство для одной формы ввода элемента:

alert(trlist[0].value); 
1
var trlist = document.getElementsByName('cost')[0].value; 
alert(trlist); 

возвращает HTMLCollection, который не имеет свойства value.HTMLCollection имитирует массив, поэтому его элементы могут быть доступны с помощью нотации массива array[index]

document.getElementsByName('cost')[0] возвращает первый элемент с name атрибута установлен в cost, что в вашем случае <input type="text" name="cost" value=" ">

0

Вы должны закрыть тэг формы первого

<form name="input" action="#" method="post" > 
    <input type="text" name="cost" value=" "> 
</form> 

Используйте значение недвижимость

var trlist = document.getElementsByName("cost").value; 
alert(trlist); 
Смежные вопросы