我正在尝试使用JavaScript从HTML文本框中获取值,但是空白后的值不会出现
例如:
<input type="text" name="txtJob" value="software engineer">
我只得到:“软件”来自上面。我正在使用这样的脚本:
var jobValue = document.getElementById('txtJob').value
如何获得全部价值:“软件工程师”?
答案 0 :(得分:75)
您的元素没有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">
答案 1 :(得分:60)
+1 Gumbo:'id'是访问页面元素的最简单方法。如果IE(版本8之前的版本)找不到具有给定ID的任何内容,它将返回具有匹配“名称”的内容,但这是一个错误。
我只得到“软件”。
id-vs-name不会影响这个;我怀疑发生了什么(与示例代码相反),你忘了引用你的'价值'属性:
<input type="text" name="txtJob" value=software engineer>
答案 2 :(得分: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);
答案 3 :(得分:5)
将id
的{{1}}属性设置为input
。当您拨打txtJob
时,您的浏览器会表现得很古怪。
答案 4 :(得分:3)
如果它是一种形式,那么它将是:
<form name="jojo">
<input name="jobtitle">
</form>
然后你会在javascript中说:
var val= document.jojo.jobtitle.value
document.formname.elementname
答案 5 :(得分:3)
当您需要文本框值时提供。简单的一个:
<input type="text" value="software engineer" id="textbox">
var result = document.getElementById("textbox").value;
答案 6 :(得分:3)
如果您使用的是ASP.NET,则下面这些示例中的服务器端代码标记将提供准确的控件ID,即使您使用的是母版页。
使用Javascript:
document.getElementById("<%=MyControlName.ClientID%>").value;
JQuery的:
$("#<%= MyControlName.ClientID %>").val();
答案 7 :(得分:0)
如果您使用任何用户控件并希望获取任何文本框值,则可以使用以下代码:
var result = document.getElementById('LE_OtherCostsDetails_txtHomeOwnerInsurance').value;
此处,LE_OtherCostsDetails
是用户控件的名称,txtHomeOwnerInsurance
是文本框的ID。
答案 8 :(得分:0)
问题是你犯了一个小小的错误!
这是我使用的JS代码:
var jobName = document.getElementById("txtJob").value;
你不应该使用name =&#34;&#34;。而是使用id =&#34;&#34;。
答案 9 :(得分: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>
答案 10 :(得分:0)
<input type="text" name="txtJob" value=software_engineer>
强>
它会起作用
答案 11 :(得分:0)
var jobValue=document.FormName.txtJob.value;
尝试上面的代码。
jobValue:变量名。
FormName:html中表单的名称
txtJob:文本框名称
答案 12 :(得分: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
答案 13 :(得分:0)
设置文本框的ID。即,
<input type="text" name="txtJob" value="software engineer" id="txtJob">
在javascript中
var jobValue = document.getElementById('txtJob').value
在Jquery
var jobValue = $("#txtJob").val();
答案 14 :(得分:0)
这里有一个简单的方法
document.getElemmentByName("txtJob").getAttribute("value")