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