Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript获取文本输入字段的值?_Javascript_Dom_Html Input - Fatal编程技术网

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

如何使用JavaScript获取文本输入字段的值?,javascript,dom,html-input,Javascript,Dom,Html Input,我正在使用JavaScript进行搜索。我会使用表单,但它会把我页面上的其他内容弄乱。我有这个输入文本字段: <input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/> 这是我的JavaScript代码: <script type="text/javascript"> function searchURL(){ window.locati

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

函数searchURL(){
window.location=”http://www.myurl.com/search/“+(输入文本值);
}

如何将文本字段中的值转换为JavaScript?

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

方法1:

document.getElementById('textbox\u id')。value
获取 想要的盒子

例如,
document.getElementById(“searchTxt”).value

注意:方法2、3、4和6返回元素的集合,因此使用[整数]获得所需的匹配项。对于第一个元素,使用[0], 第二次使用,等等

方法2:

使用
document.getElementsByClassName('class\u name')[整数].value
返回一个实时HTMLCollection

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

方法3:

使用
document.getElementsByTagName('tag_name')[整数].value
,它还返回一个实时HTMLCollection

例如,
document.getElementsByTagName(“输入”)[0]。值,如果这是页面中的第一个文本框

方法4:

document.getElementsByName('name')[整数].value
它还>返回一个活动节点列表

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

方法5:

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

例如,
document.querySelector('searchTxt').value由id选择
document.querySelector('.searchField').value按类别选择
document.querySelector('input')。值由标记名选择
document.querySelector('[name=“searchTxt”]').value按名称选择

方法6:

document.querySelectorAll('selector')[whole\u number].value
它也使用CSS选择器来选择元素,但它以静态节点列表的形式返回带有该选择器的所有元素

例如,
document.querySelectorAll('#searchTxt')[0].value由id选择
document.querySelectorAll('.searchField')[0]。值按类别选择
document.querySelectorAll('input')[0]。值由标记名选择
document.querySelectorAll('[name=“searchTxt”]')[0]。值按名称选择

支持

浏览器方法1方法2方法3方法4方法5/6
IE6 Y(童车)N Y Y(童车)N
IE7 Y(童车)N Y Y(童车)N
IE8 Y N Y Y(童车)Y
IE9 Y(童车)Y
IE10-Y-Y
FF3.0 Y=Internet Explorer
FF3.5/FF3.6 Y FF=Mozilla Firefox
FF4b1 Y GC=谷歌浏览器
一般条款4/5 Y=是,N=否
Safari4/Safari5 Y
操作10.10/
操作10.53/Y(童车)Y
操作10.60
歌剧12年
有用的链接

  • 试试这个

    <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>
    
    
    函数跟踪更改(值){
    窗口打开(“http://www.google.com/search?output=search&q=“+价值)
    }
    
    您应该能够键入:

    var input=document.getElementById(“searchTxt”);
    函数searchURL(){
    window.location=”http://www.myurl.com/search/“+输入值;
    }

    您还可以通过标签调用名称,如下所示:
    form\u name.input\u name.value
    因此,您将以特定的形式获得已确定输入的特定值

    //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;
      }
    }
    

    如果您使用的是jQuery,那么通过使用插件formInteract,您只需执行以下操作:

    // Just keep the HTML as it is.
    
    <input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
    
    或者,如果使用参数化URL,则使用以下选项:

    $.get("http://www.myurl.com/search/"+search.get().searchTxt, {}, function(rsp){
        // Now do work with your response;
    })
    
    这是该项目的链接

    您可以将此插件用于多种用途,如获取表单的值、将值放入表单、表单验证等。您可以在项目的index.html文件中看到一些代码示例


    当然,我是这个项目的作者,欢迎大家把它做得更好。

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

    var input = document.getElementById("input_id").value;
    
    然后我将使用变量将输入值添加到字符串中


    =“您的字符串”+输入

    在Chrome和Firefox中测试:

    按元素id获取值:

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

    另请看一看JavaScript计算器实现:

    从@bugwheels94更新:使用此方法时请注意。

    
    信息技术
    函数myFunction(){
    document.getElementById(“新”).value=“a”;
    }
    
    可以使用form.elements获取表单中的所有元素。如果元素具有id,则可以使用.namedItem(“id”)找到它。例如:

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

    来源:

    当您有更多输入字段时,可以使用onkeyup。假设您有四个或多个输入 <
    <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 first name from object
            console.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>
    
    searchTxt.value