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

97

Я пытаюсь использовать JavaScript, чтобы получить значение из текстового поля HTML, но значение не появляется после пробела

Например:

<input type="text" name="txtJob" value="software engineer">

Я получаю только "программное обеспечение" из вышеупомянутого. Я использую такой сценарий:

var jobValue = document.getElementById('txtJob').value

Как мне получить полную ценность: «инженер-программист»?

Гнанияр Зубаир
источник

Ответы:

63

+1 Гамбо: id - самый простой способ получить доступ к элементам страницы. IE (до версии 8) будет возвращать вещи с совпадающим «именем», если не может найти ничего с данным идентификатором, но это ошибка.

я получаю только «софт».

id-vs-name не повлияет на это; Я подозреваю, что произошло то, что (в отличие от примера кода) вы забыли процитировать свой атрибут 'value':

<input type="text" name="txtJob" value=software engineer>
бобинс
источник
77

У вашего элемента нет идентификатора, а просто имя. Таким образом, вы можете использовать getElementsByName()метод для получения списка всех элементов с этим именем:

var jobValue = document.getElementsByName('txtJob')[0].value  // first element in DOM  (index 0) with name="txtJob"

Или вы назначаете элементу идентификатор:

<input type="text" name="txtJob" id="txtJob" value="software engineer">
Гамбо
источник
11
var word = document.getElementById("word").value;//by id
or
var word = document.forms[0].elements[0].value;//by index
//word = a word from form input
var kodlandi = escape(word);//apply url encoding

alert(escape(word));
or
alert(kodlandi);

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

ontop имеет некоторые проблемы с операциями кодирования / декодирования Unicode, поэтому используйте эту функцию для кодирования строк / массивов

function urlencode( str ) 
{
// http://kevin.vanzonneveld.net3.    
// +   original by: Philip Peterson4.    
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)5.    
// *     example 1: urlencode('Kevin van Zonneveld!');
// *     returns 1: 'Kevin+van+Zonneveld%21'7. 
   var ret = str; 
   ret = ret.toString();
   ret = encodeURIComponent(ret);
   ret = ret.replace(/%20/g, '+');
   return ret;
}


ex.
var word = "some word";
word = urlencode(word);
Ferit
источник
7
<!DOCTYPE html>
<html>
<body>
<label>Enter your Name here: </label><br>
<input type= text id="namehere" onchange="displayname()"><br>


<script>
function displayname() {
    document.getElementById("demo").innerHTML = 
document.getElementById("namehere").value;
}

</script>


<p id="demo"></p>

</body>
</html> 
Закара
источник
4

Установите для idатрибута inputзначение txtJob. Когда вы звоните, ваш браузер ведет себя странно getElementById.

Дэниел А. Уайт
источник
4

Если вы используете ASP.NET, теги кода на стороне сервера в приведенных ниже примерах предоставят точный идентификатор элемента управления, даже если вы используете главные страницы.

Javascript:

document.getElementById("<%=MyControlName.ClientID%>").value;

JQuery:

$("#<%= MyControlName.ClientID %>").val();
Притворство
источник
3

Если это в форме, то это будет:

<form name="jojo">
<input name="jobtitle">
</form>

Тогда вы бы сказали в javascript:

var val= document.jojo.jobtitle.value

document.formname.elementname
Джим
источник
3

Предоставляется, когда вам нужно значение текстового поля. Простой:

<input type="text" value="software engineer" id="textbox">

var result = document.getElementById("textbox").value;
Вики Чаудхари
источник
0

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

var result = document.getElementById('LE_OtherCostsDetails_txtHomeOwnerInsurance').value;

Здесь, LE_OtherCostsDetails- имя пользовательского элемента управления и txtHomeOwnerInsuranceидентификатор текстового поля.

Ранджан Шривастава
источник
0



Проблема в том, что вы допустили крошечную ошибку!

Это код JS, который я использую:

var jobName = document.getElementById("txtJob").value;

Вы не должны использовать name = "". вместо этого используйте id = "".

1010
источник
0

Вам нужно изменить свой код, как показано ниже: -

<html>
<body>
<div>
<form align="center" method=post>
    <input id="mainText" type="text" align="center"placeholder="Search">

    <input type="submit" onclick="myFunction()" style="position: absolute; left: 450px"/>
</form>
</div>
<script>
function myFunction(){
    $a= document.getElementById("mainText").value;
    alert($a);
        }
</script>
</body>
</html>
Вишал Тхакур
источник
0

поскольку вы использовали пространство между разработчиком программного обеспечения, html / php не поддерживает пробел между значениями в текстовом поле, вы должны использовать этот код. <input type="text" name="txtJob" value=software_engineer> Он будет работать

Викас Шарма
источник
0
 var jobValue=document.FormName.txtJob.value;

Попробуйте этот код выше.

jobValue: имя переменной.
FormName: имя формы в html.
txtJob: имя текстового поля

27 пикселей
источник
0

Это должно быть просто с использованием jquery:

HTML:

  <input type="text" name="txtJob" value="software engineer">

JS:

  var jobValue = $('#txtJob').val(); //Get the text field value
  $('#txtJob').val(jobValue);        //Set the text field value
ДжеймсК
источник
0

Установите идентификатор для текстового поля. т.е.

<input type="text" name="txtJob" value="software engineer" id="txtJob"> 

В javascript

var jobValue = document.getElementById('txtJob').value

В JQuery

 var jobValue =  $("#txtJob").val();

источник