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

我正在使用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中?

3389356 次浏览

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

方法1

document.getElementById('textbox_id').value获取值想要的盒子

例如

document.getElementsByClassName('class_name')[whole_number].value返回一个Live HTMLCollection

例如

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

方法3

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

例如

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

方法4

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

例如

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

方法5

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

例如

  • document.querySelector('#searchTxt').value;被id选中
  • document.querySelector('.searchField').value;按类别选择
  • document.querySelector('input').value;通过标记名选择
  • document.querySelector('[name="searchTxt"]').value;按名称选择

方法6

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

例如

  • document.querySelectorAll('#searchTxt')[0].value;被id选中
  • document.querySelectorAll('.searchField')[0].value;按类别选择
  • document.querySelectorAll('input')[0].value;通过标记名选择
  • document.querySelectorAll('[name="searchTxt"]')[0].value;按名称选择

支持

浏览器方法1方法2方法3方法4方法5/6
IE6Y(越野车)NYY(越野车)N
IE7Y(越野车)NYY(越野车)N
IE8YNYY(越野车)Y
YYY GC=GoogleChrome
GC4/GC5YYYYY Y=是,N=否
Safari4/Safari5YYYYY
业务活动10.10/
业务YYYY(越野车)Y
业务
Opera 12YYYYY

有用链接

  1. 要查看这些方法对所有错误的支持,包括更多详细信息,请单击此处
  2. 静态集合和实时集合的区别单击此处
  3. NodeList和HTMLCollection的区别单击此处
<input type="text" onkeyup="trackChange(this.value)" id="myInput"><script>function trackChange(value) {window.open("http://www.google.com/search?output=search&q=" + value)}</script>

您应该能够键入:

var input = document.getElementById("searchTxt");
function searchURL() {window.location = "http://www.myurl.com/search/" + input.value;}
<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>

I'm sure there are better ways to do this, but this one seems to work across all browsers, and it requires minimal understanding of JavaScript to make, improve, and edit.

您也可以通过标签名称调用,如下所示:form_name.input_name.value;因此,您将以特定形式获得确定输入的特定值。

//creates a listener for when you press a keywindow.onkeyup = keyup;
//creates a global Javascript variablevar inputTextValue;
function keyup(e) {//setting your input text to the global Javascript Variable for every key pressinputTextValue = 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 boxif (e.keyCode == 13) {window.location = "http://www.myurl.com/search/" + inputTextValue;}}

在coDepen中看到这个功能。

我会创建一个变量来存储输入,如下所示:

var input = document.getElementById("input_id").value;

<input type="text" maxlength="512" id="searchTxt" class="searchField"/><input type="button" value="Get Value" onclick="alert(searchTxt.value)">

<form name="calc" id="calculator"><input type="text" name="input"><input type="button" value="Set Value" onclick="calc.input.value='Set Value'"></form>

<input id="new" ><button  onselect="myFunction()">it</button><script>function myFunction() {document.getElementById("new").value = "a";}</script>

var myForm = document.getElementById("form1");var text = myForm.elements.namedItem("searchTxt").value;var url = "http://www.myurl.com/search/" + text;

<div class="container"><div><label for="">Name</label><input type="text" name="fname" id="fname" onkeyup=handleInput(this)></div><div><label for="">Age</label><input type="number" name="age" id="age" onkeyup=handleInput(this)></div><div><label for="">Email</label><input type="text" name="email" id="email" onkeyup=handleInput(this)></div><div><label for="">Mobile</label><input type="number" name="mobile" id="number" onkeyup=handleInput(this)></div><div><button onclick=submitData()>Submit</button></div></div>

<script>const data = { };
function handleInput(e){data[e.name] = e.value;}
function submitData(){console.log(data.fname); // Get the first name from the objectconsole.log(data); // return object}</script>

function copytext(text) {var textField = document.createElement('textarea');textField.innerText = text;document.body.appendChild(textField);textField.select();document.execCommand('copy');textField.remove();}

<form onsubmit="submitLoginForm(event)"><input type="text" name="name"><input type="password" name="password"><input type="submit" value="Login"></form>
<script type="text/javascript">
function submitLoginForm(event){event.preventDefault();
console.log(event.target['name'].value);console.log(event.target['password'].value);}</script>

  • 如果您为两个输入设置相同的值,那么在getElementsByName(或getElementsByTagName…)之后,您需要记住0或1是senderreceiver。稍后,如果您更改了超文本标记语言中2form的顺序,您需要再次检查此代码

如果你使用form,然后你可以使用nameaddress,…

您可以通过searchTxt.value读取值

<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
<script type="text/javascript">function searchURL(){console.log(searchTxt.value);// window.location = "http://www.myurl.com/search/" + searchTxt.value;}</script>




<!-- SHORT ugly test code --><button class="search" onclick="searchURL()">Search</button>

function handleValueChange() {var y = document.getElementById('textbox_id').value;var x = document.getElementById('result');x.innerHTML = y;}
function changeTextarea() {var a = document.getElementById('text-area').value;var b = document.getElementById('text-area-result');b.innerHTML = a;}
input {padding: 5px;}
p {white-space: pre;}
<input type="text" id="textbox_id" placeholder="Enter string here..." oninput="handleValueChange()"><p id="result"></p>
<textarea name="" id="text-area" cols="20" rows="5" oninput="changeTextarea()"></textarea><p id="text-area-result"></p>

function searchURL() {window.location = 'http://www.myurl.com/search/' + searchTxt.value}

所以基本上searchTxt.value将返回id='searchTxt'的输入字段的值。

简短回答

您可以使用JavaScript使用以下代码获取文本输入字段的值:input_text_value = console.log(document.getElementById("searchTxt").value)

更多信息

textObject有一个属性value,您可以设置并获取此属性。

要设置,您可以分配一个新值:document.getElementById("searchTxt").value = "new value"