2009-04-18 80 views
91

我试图使用JavaScript来从一个HTML文本框中获取的价值,但价值并不在空白之后如何获得文本框的值在JavaScript

来临例如:仅

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

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

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

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

回答

52

+1浓汤:“ID”是访问页面元素的最简单方法。 IE(pre version 8)如果找不到具有给定ID的任何内容,就会返回匹配'name'的东西,但这是一个错误。

我只得到“软件”。

id-vs-name不会影响这个;我怀疑所发生的事情是,(与示例代码)您忘记引用你的“价值”属性:

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

inputid属性设置为txtJob。当您致电getElementById时,您的浏览器表现古怪。

68

您的元素没有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"> 
3

如果是在一个表格那么这将是:

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

然后你会说在javascript:

var val= document.jojo.jobtitle.value 

document.formname.elementname 
8
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); 

不使用编码输入值从表格0123的问题所以 不是浏览器增加了那些为...

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

提供。简单的一个:

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

var result = document.getElementById("textbox").value; 
3

如果您使用ASP.NET,在这些例子中,服务器端代码标签下面将提供准确的控制ID,即使您使用的母版页。

的Javascript:

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

JQuery的:

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

这不是ASP? – 8bitslime 2014-09-10 04:40:44

0

如果您正在使用的任何用户的控制,并希望得到任何文本框的值,那么你可以使用下面的代码:

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

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

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



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

这是JS代码我使用:

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

你不应该使用的名称= “”。改为使用id =“”。

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:文本框名称

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

集ID为文本框。即,

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

在javascript中

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

jQuery中

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