JavaScript技巧:获取文本输入字段的值
P粉283559033
2023-08-21 10:35:51
<p>我正在使用JavaScript进行搜索。我想使用一个表单,但它会破坏我的页面上的其他东西。我有这个输入文本字段:</p>
<pre class="brush:html;toolbar:false;"><input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
</pre>
<p>这是我的JavaScript代码:</p>
<pre class="brush:js;toolbar:false;"><script type="text/javascript">
function searchURL(){
window.location = "http://www.myurl.com/search/" + (input text value);
}
</script>
</pre>
<p>如何将文本字段的值传递给JavaScript?</p>
在codepen中查看此功能。
有多种方法可以直接获取输入文本框的值(而无需将输入元素包装在表单元素内):
方法1
document.getElementById('textbox_id').value
获取所需框的值例如
document.getElementById("searchTxt").value;
注意:方法2、3、4和6返回一个元素集合,因此使用[整数]来获取所需的元素。对于第一个元素,使用
[0]
,对于第二个元素,使用[1]
,依此类推...方法2
使用
document.getElementsByClassName('class_name')[整数].value
,它返回一个实时的HTMLCollection例如
document.getElementsByClassName("searchField")[0].value;
,如果这是页面上的第一个文本框。方法3
使用
document.getElementsByTagName('tag_name')[整数].value
,它也返回一个实时的HTMLCollection例如
document.getElementsByTagName("input")[0].value;
,如果这是页面上的第一个文本框。方法4
document.getElementsByName('name')[整数].value
,它也返回一个实时的NodeList例如
document.getElementsByName("searchTxt")[0].value;
,如果这是页面上的第一个名称为'searchtext'的文本框。方法5
使用强大的
document.querySelector('selector').value
,它使用CSS选择器来选择元素例如
document.querySelector('#searchTxt').value;
通过id选择document.querySelector('.searchField').value;
通过class选择document.querySelector('input').value;
通过标签名选择document.querySelector('[name="searchTxt"]').value;
通过名称选择方法6
document.querySelectorAll('selector')[整数].value
,它也使用CSS选择器来选择元素,但它将所有具有该选择器的元素作为静态NodeList返回。例如
document.querySelectorAll('#searchTxt')[0].value;
通过id选择document.querySelectorAll('.searchField')[0].value;
通过class选择document.querySelectorAll('input')[0].value;
通过标签名选择document.querySelectorAll('[name="searchTxt"]')[0].value;
通过名称选择支持