Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 按enter键时获取输入文本的值_Javascript_Html_Input_Keycode - Fatal编程技术网

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

Javascript 按enter键时获取输入文本的值,javascript,html,input,keycode,Javascript,Html,Input,Keycode,我正在尝试: <input type="text" placeholder="some text" class="search" onkeydown="search()"/> <input type="text" placeholder="some text" class="search" onkeydown="search()"/> 目前这很好,但我的问题是如何在文本字段中获取值,我正在考虑将引用“this”传递给函数,或者如果它们有id,那么我可以使用id,但我不知

我正在尝试:

<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
<input type="text" placeholder="some text" class="search" onkeydown="search()"/>
目前这很好,但我的问题是如何在文本字段中获取值,我正在考虑将引用“this”传递给函数,或者如果它们有id,那么我可以使用id,但我不知道如何区分键入的是哪一个,让我再次回到同一个问题上…

类似的东西(未测试,但应该可以工作)

在Html中将此作为参数传递:

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

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

仅使用事件对象

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

jsFiddle示例:

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

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

收听
更改
事件

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

您可以传递当前目标/text字段的
this
并获取
this.value
!“应该得到innerHTML输入没有innerHTML…是的,我应该先尝试传递这个,谢谢你的确认。这不是jQuery版本。但我想他想要平面javascript的解决方案。或者使用jQuery,这也是一个很好的答案,谢谢,我选择了普通javascript,但这同样棒极了,谢谢:)抱歉恩,我说了“或者使用jQuery“,我的意思是每个人都在提供一个纯javascript解决方案,这是一个jquery解决方案,用一种开玩笑的口吻……首先我认为其中有一个错误,然后我尝试了:它工作得非常完美,是我能找到的最好的vanilly方法。Thx.对于那些可能会偶然发现这一点的人来说,这只是一个快速的改变,在HTML5中,它应该是onkeypress而不是onkeydown,event.keyCode==13表示“回车”键。另外,在HTML5中,“search(this)”应该是“search(event)”,从中读取“ele.keyCode==13”以了解是否按下了回车键。关键字“this”不起作用。
function search(e) {
    e = e || window.event;
    if(e.keyCode == 13) {
        var elem = e.srcElement || e.target;
        alert(elem.value);
    }
}
$("input").on("keydown",function search(e) {
    if(e.keyCode == 13) {
        alert($(this).val());
    }
});
$( '.search' ).on( 'keydown', function ( evt ) {
    if( evt.keyCode == 13 )
        search( $( this ).val() ); 
} ); 
document.querySelector("input")
  .addEventListener('change', (e) => {
    console.log(e.currentTarget.value);
 });