如何在JavaScript中获得文本框的值

我正在尝试使用JavaScript从HTML文本框中获取值,但是值不会在空白处出现

例如:

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

我只从上面得到:“软件”。 我正在使用这样的脚本:

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

我如何获得全部的价值:“软件工程师”?

+1 Gumbo:'id'是访问页面元素的最简单的方法。 如果找不到给定的ID,那么IE(pre version 8)会返回一个匹配的“name”,但这是一个bug。

我只得到“软件”。

id-vs-name不会影响到这个; 我怀疑发生了什么事情(与示例代码相反),您已经忘记引用您的“值”属性:

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

你的元素没有一个ID,只是一个名字。 所以你可以使用getElementsByName()方法来得到所有具有这个名字的元素的列表:

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

或者你给这个元素分配一个ID:

 <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); 

你没有使用从表单input值编码的问题,所以不是浏览器添加到…

ontop有一些问题作为unicode编码/解码操作,所以使用这个函数编码的string/数组

 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); 

inputid属性设置为txtJob 。 当您调用getElementById时,您的浏览器performance古怪。

 <!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> 

如果它是一种forms,那么它将是:

 <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,则下面这些示例中的服务器端代码标签将提供确切的控件ID,即使您正在使用母版页。

使用Javascript:

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

JQuery的:

 $("#<%= MyControlName.ClientID %>").val(); 

如果您正在使用任何用户控件并想要获取任何文本框值,则可以使用下面的代码:

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

这里, LE_OtherCostsDetails是用户控件的名称, txtHomeOwnerInsurance是文本框的ID。

问题是你犯了一个微小的错误!

这是我使用的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:variables名称。
FormName:HTML中表单的名称。
txtJob:文本框名称