如何在 vanilla js 中自动获取输入值?
2019-11-03
1175
是否有任何 javascript 方法可以自动获取输入文本的值?我正在使用条形码扫描仪,我想在我的文本字段获得值时触发事件,否则什么也不做。截至目前,我正在使用,更改事件如下:
if(document.getElementById("item")){
document.getElementById("item").addEventListener("change", function(){
let item = document.getElementById("item").value;
if(item){
var httpRequest = new XMLHttpRequest();
httpRequest.open('GET', "http://"+window.location.hostname+":"+window.location.port+"/api/employee/search/1/"+item);
httpRequest.send();
httpRequest.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200){
var employee = JSON.parse(httpRequest.responseText);
if(typeof(employee.id) !== 'undefined'){
console.log(employee)
urlRequest = "http://"+window.location.hostname+":"+window.location.port+"/employee/"+employee.id;
location.replace(urlRequest);
}
}
}
}
});
}
但问题是用户仍然需要按下键盘上的 Enter 键。
2个回答
根据
MDN
文档:
The input event fires when the value of an input, select, or textarea element has been changed.
您可以按如下方式使用它:
document.querySelector("#input").addEventListener("input", x => console.log(x.target.value))
<input id='input' type='text' />
Rafi Henig
2019-11-03
您可以使用
keydown
事件:
const input = document.getElementById('test')
input.addEventListener("keydown", () => {
console.log(input.value)
});
<input id='test' type='text' />
cccn
2019-11-03