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

use*_*469 31 html javascript input keycode

我在尝试这个:

<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
Run Code Online (Sandbox Code Playgroud)

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

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

这个目前工作得很好,但是我的问题是如何在文本字段中获取值,我正在考虑将一个引用"this"传递给函数,或者如果它们有id,那么我可以使用ID但是我不会看看我如何区分输入哪一个,再次回到同一个问题......

brg*_*brg 47

试试这个:

<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>  
<input type="text" placeholder="some text" class="search" onkeydown="search(this)"/>
Run Code Online (Sandbox Code Playgroud)

JS代码

function search(ele) {
    if(event.key === 'Enter') {
        alert(ele.value);        
    }
}
Run Code Online (Sandbox Code Playgroud)

DEMO Link

  • 对于可能偶然发现它的人来说,这只是一个快速的更改,在HTML5中,应该是onkeypress而不是onkeydown和event.keyCode == 13表示“ Enter”键。 (2认同)
  • 另外,在 HTML5 中,'search(this)' 应该是 'search(event)',从中读取 'ele.keyCode === 13' 来获取是否按下了 Enter。关键字“this”不起作用。 (2认同)

Ale*_*der 9

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

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

  • 不是jQuery版本.但我想他想在平面javascript中解决. (3认同)

epa*_*llo 5

仅使用事件对象

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