输入按键时获取输入文本的值

时间:2014-01-08 14:35:35

标签: javascript html input keycode

我正在尝试这个:

<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>

使用一些javascript来检查是否按下了回车键:

function search() {
    if(event.keyCode == 13) {
        alert("should get the innerHTML or text value here);
    }
}

目前此工作正常,但我的问题是如何在文本字段中获取值,我想将一个引用“this”传递给函数,或者如果它们有id,那么我可以使用ID但是然后我看不出我如何区分输入哪一个,再次回到同一个问题......

6 个答案:

答案 0 :(得分:39)

试试这个:

<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>  
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>

JS代码

function search(ele) {
    if(event.key === 'Enter') {
        alert(ele.value);        
    }
}

<强> DEMO Link

答案 1 :(得分:8)

$("input").on("keydown",function search(e) {
    if(e.keyCode == 13) {
        alert($(this).val());
    }
});

jsFiddle示例:http://jsfiddle.net/NH8K2/1/

答案 2 :(得分:5)

只使用事件对象

function search(e) {
    e = e || window.event;
    if(e.keyCode == 13) {
        var elem = e.srcElement || e.target;
        alert(elem.value);
    }
}

答案 3 :(得分:2)

收听change事件。

document.querySelector("input")
  .addEventListener('change', (e) => {
    console.log(e.currentTarget.value);
 });

答案 4 :(得分:1)

你不应该在你的HTML中放置Javascript代码,因为你给这些输入一个类(“搜索”),没有理由这样做。更好的解决方案是做这样的事情:

$( '.search' ).on( 'keydown', function ( evt ) {
    if( evt.keyCode == 13 )
        search( $( this ).val() ); 
} ); 

答案 5 :(得分:0)

这样的事情(未经测试,但应该有效)

将此作为参数传递给Html:

<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>

并提醒传递给搜索功能的参数值:

function search(e){
  alert(e.value);
}