Как получить значение текстового поля в JavaScript
Я пытаюсь использовать JavaScript, чтобы получить значение из текстового поля HTML, но значение не приходит после пробела
например:
<input type="text" name="txtJob" value="software engineer">
Я только получаю: "программное обеспечение" из вышеизложенного. Я использую такой скрипт:
var jobValue = document.getElementById('txtJob').value
Как я могу получить полное значение: "инженер-программист"?
15 ответов:
+1 Gumbo:’ id ' - это самый простой способ доступа к элементам страницы. IE (предварительная версия 8) вернет вещи с соответствующим "именем", если он не может найти ничего с данным идентификатором, но это ошибка.
Я получаю только "программное обеспечение".
id-vs-name не повлияет на это; я подозреваю, что произошло то ,что (в отличие от кода примера) вы забыли процитировать свой атрибут "value":
<input type="text" name="txtJob" value=software engineer>
ваш элемент не имеет идентификатора, а только имя. Так что вы могли бы использовать
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">
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);
<!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>
если он в форме, то это будет выглядеть так:
<form name="jojo"> <input name="jobtitle"> </form>тогда вы скажете в javascript:
var val= document.jojo.jobtitle.value document.formname.elementname
при условии, если вы хотите значение текстового поля. Простая один:
<input type="text" value="software engineer" id="textbox"> var result = document.getElementById("textbox").value;
Если вы используете ASP.NET теги кода на стороне сервера в приведенных ниже примерах предоставляют точный идентификатор элемента управления, даже если вы используете главные страницы.
Javascript:
document.getElementById("<%=MyControlName.ClientID%>").value;JQuery:
$("#<%= MyControlName.ClientID %>").val();
Если вы используете любой пользовательский элемент управления и хотите получить любые значения текстового поля, то вы можете использовать следующий код:
var result = document.getElementById('LE_OtherCostsDetails_txtHomeOwnerInsurance').value;здесь
LE_OtherCostsDetails, это имя пользователя иtxtHomeOwnerInsurance- идентификатор текстового поля.
Проблема в том, что вы сделали крошечная ошибка!
Это код JS, который я использую:var jobName = document.getElementById("txtJob").value;вы не должны использовать name="". вместо этого используйте id="".
вам нужно изменить свой код, как показано ниже: -
<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>
поскольку вы использовали пространство между программистом html / php не будет поддерживать пространство между значением в текстовом поле, вы должны использовать этот код
<input type="text" name="txtJob" value=software_engineer>Это будет работать
var jobValue=document.FormName.txtJob.value;попробуйте этот код выше.
jobValue : имя переменной.
FormName: имя формы в html.
txtJob: имя текстового поля
Это должно быть просто с помощью 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
установить идентификатор для текстового поля. то есть,
<input type="text" name="txtJob" value="software engineer" id="txtJob">в javascript
var jobValue = document.getElementById('txtJob').valueВ Jquery
var jobValue = $("#txtJob").val();
Comments