如何使用JavaScript获取文本输入字段的值?

2022-08-29 22:05:50

我正在用JavaScript进行搜索。我会使用一种形式,但它会弄乱我页面上的其他内容。我有这个输入文本字段:

<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>

这是我的JavaScript代码:

<script type="text/javascript">
  function searchURL(){
    window.location = "http://www.myurl.com/search/" + (input text value);
  }
</script>

如何将文本字段中的值获取到 JavaScript 中?


答案 1

有多种方法可以直接获取输入文本框值(无需将输入元素包装在表单元素中):

方法 1:

document.getElementById('textbox_id').value获取所需框的值

例如 document.getElementById("searchTxt").value;

 

注意:方法 2、3、4 和 6 返回元素的集合,因此请使用 [whole_number] 来获取所需的匹配项。对于第一个元素,请使用 [0],对于第二个元素,请使用 1,依此类推...

方法 2:

使用返回实时 HTMLCollectiondocument.getElementsByClassName('class_name')[whole_number].value

例如,如果这是页面中的第一个文本框。document.getElementsByClassName("searchField")[0].value;

方法 3:

使用它也返回一个实时的HTMLCollection。document.getElementsByTagName('tag_name')[whole_number].value

例如,如果这是页面中的第一个文本框,则为 。document.getElementsByTagName("input")[0].value;

方法 4:

document.getElementsByName('name')[whole_number].value这也>返回一个实时节点列表

例如,如果这是页面中第一个名称为“searchtext”的文本框。document.getElementsByName("searchTxt")[0].value;

方法 5:

使用功能强大的CSS选择器来选择元素document.querySelector('selector').value

例如,按按按类别
选择的 id
选择按名称
选择的标记名称document.querySelector('#searchTxt').value;document.querySelector('.searchField').value;document.querySelector('input').value;document.querySelector('[name="searchTxt"]').value;

方法 6:

document.querySelectorAll('selector')[whole_number].value它还使用 CSS 选择器来选择元素,但它将具有该选择器的所有元素作为静态 Nodelist 返回。

例如,按按按类别
选择的 id
选择按名称
选择的标记名称document.querySelectorAll('#searchTxt')[0].value;document.querySelectorAll('.searchField')[0].value;document.querySelectorAll('input')[0].value;document.querySelectorAll('[name="searchTxt"]')[0].value;

支持

Browser          Method1   Method2  Method3  Method4    Method5/6
IE6              Y(Buggy)   N        Y        Y(Buggy)   N
IE7              Y(Buggy)   N        Y        Y(Buggy)   N
IE8              Y          N        Y        Y(Buggy)   Y
IE9              Y          Y        Y        Y(Buggy)   Y
IE10             Y          Y        Y        Y          Y
FF3.0            Y          Y        Y        Y          N    IE=Internet Explorer
FF3.5/FF3.6      Y          Y        Y        Y          Y    FF=Mozilla Firefox
FF4b1            Y          Y        Y        Y          Y    GC=Google Chrome
GC4/GC5          Y          Y        Y        Y          Y    Y=YES,N=NO
Safari4/Safari5  Y          Y        Y        Y          Y
Opera10.10/
Opera10.53/      Y          Y        Y        Y(Buggy)   Y
Opera10.60
Opera 12         Y          Y        Y        Y          Y

有用的链接

  1. 要查看这些方法对所有错误的支持,包括更多详细信息,请单击此处
  2. 静态集合和实时集合之间的区别 单击此处
  3. NodeList和HTMLCollection之间的区别点击这里

答案 2
//creates a listener for when you press a key
window.onkeyup = keyup;

//creates a global Javascript variable
var inputTextValue;

function keyup(e) {
  //setting your input text to the global Javascript Variable for every key press
  inputTextValue = e.target.value;

  //listens for you to press the ENTER key, at which point your web address will change to the one you have input in the search box
  if (e.keyCode == 13) {
    window.location = "http://www.myurl.com/search/" + inputTextValue;
  }
}

在编解码器笔中看到此功能。