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


当前回答

<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>

其他回答

在Chrome和Firefox中测试:

通过元素id获取值:

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

在form元素中设置值:

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

https://jsfiddle.net/tuq79821/

还有一个JavaScript计算器实现。

来自@bugwheels94:在使用此方法时,请注意此问题。

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

方法1

. getelementbyid(“textbox_id”)。值来获取的值 需要盒子

例如

document.getElementById(“searchTxt”).value;

  注意:方法2、3、4和6返回元素的集合,因此使用[whole_number]来获得所需的出现。对于第一个元素,使用[0], 对于第二个,使用[1],以此类推……

方法2

使用 document.getElementsByClassName (class_name) [whole_number]。返回一个Live HTMLCollection的值

例如

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

方法3

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

例如

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

方法4

document.getElementsByName(“名字”)[whole_number]。>返回一个活的节点列表

例如

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

方法5

使用功能强大的document.querySelector('selector')。值,它使用CSS选择器选择元素

例如

document.querySelector value(“# searchTxt”);按id选择 document.querySelector value(“.searchField”);按班级选择 document.querySelector value(“输入”);由tagname选择 document.querySelector ([name = " searchTxt "]) value;按名称选择

方法6

document.querySelectorAll(“选择器”)[whole_number]。值,它也使用CSS选择器来选择元素,但它以静态节点列表的形式返回该选择器的所有元素。

例如

document.querySelectorAll (# searchTxt) [0] value;按id选择 document.querySelectorAll(“.searchField”)[0]。value;按班级选择 document.querySelectorAll(“输入”)[0]。value;由tagname选择 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

有用的链接

要查看这些方法对所有错误的支持,包括更多详细信息,请单击这里 静态集合和动态集合的区别点击这里 NodeList和HTMLCollection的区别点击这里

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

你也可以,通过标签名称调用,像这样: 所以你会得到特定形式的特定输入值。

你应该能够输入:

var input = document.getElementById(“searchTxt”); 函数搜索URL() { window.location = “http://www.myurl.com/search/” + input.value; } <input name=“searchTxt” type=“text” maxlength=“512” id=“searchTxt” class=“searchField”/>

我相信有更好的方法可以做到这一点,但这一方法似乎可以跨所有浏览器工作,并且它只需要对JavaScript有最少的了解就可以进行制作、改进和编辑。