Javascript 如何在onkeydown之后获取输入的值?
我尝试在输入每个字符(如果是数字)后获取inputbox的新值。但下面示例中的ajax发送的是旧值,而不是新输入的值 例如,如果值为1,我将输入框聚焦,删除该值并按下2,Ajax将发送“1”。但我需要它来发送“2” HTMLJavascript 如何在onkeydown之后获取输入的值?,javascript,Javascript,我尝试在输入每个字符(如果是数字)后获取inputbox的新值。但下面示例中的ajax发送的是旧值,而不是新输入的值 例如,如果值为1,我将输入框聚焦,删除该值并按下2,Ajax将发送“1”。但我需要它来发送“2” HTML <input type="text" class="quant-input" size="7" name="qty" value="1" onkeydown="change_qty();"/> JavaScript function change_qty(
<input type="text" class="quant-input" size="7" name="qty" value="1" onkeydown="change_qty();"/>
JavaScript
function change_qty(evt) {
var charCode = event.keyCode
if (charCode > 48 || charCode < 57) {
jQuery.ajax("page.php", {
type: "POST",
data:'data='+$('.quant-input').val()
});
return true;
} else {
return false;
}
}
功能更改\u数量(evt){
var charCode=event.keyCode
如果(字符码>48 | |字符码<57){
ajax(“page.php”{
类型:“POST”,
数据:'data='+$('.quant input').val()
});
返回true;
}否则{
返回false;
}
}
该值在keyup事件之前不会更改。因此,您需要使用以下选项:
onkeyup="change_qty();"
该值在keyup事件之前不会更改。因此,您需要使用以下选项:
onkeyup="change_qty();"
当用户按下按钮时,它将调用您的函数,所以,首先它将调用您的函数,但随后它将在输入中插入值。所以,你应该使用
onkeyup
当用户按下按钮时,它将调用您的函数,所以,首先它将调用您的函数,但随后它将在输入中插入值。所以,你应该使用
onkeyup
您可以尝试onBlur=“change_qty();”
,它将在离开控件焦点后为您提供值。或者,如果您不想离开文本框并需要更新的值,onKeyUp
很好您可以尝试onBlur=“change_qty();”
在离开控件焦点后为您提供值。或者,如果您不想离开文本框,需要更新的值,onKeyUp
可以
使用以下任一选项:
onkeyup
input
事件oninput
:
<input oninput="change_qty();" ...>
或
试试这些
使用以下任一选项:
onkeyup
input
事件oninput
:
<input oninput="change_qty();" ...>
或
在发送ajax之前,您可以使用onkeydown/onkeypress进行一些验证(为了支持复制粘贴和特殊键(例如Enter),您需要额外的代码)
功能更改\u数量(){
让key=event.key;
让oldval=event.target.value;
让newval=oldval.slice(0,event.target.selectionStart)+key+oldval.slice(event.target.selectionEnd);
console.clear();
console.log(“旧值”,oldval);
console.log(“新值”,newval);
//验证和ajax代码
//return false;//不允许按键
返回true;//将允许按键
}
在发送ajax之前,您可以使用onkeydown/onkeypress进行一些验证(为了支持复制粘贴和特殊键(例如Enter),您需要额外的代码)
功能更改\u数量(){
让key=event.key;
让oldval=event.target.value;
让newval=oldval.slice(0,event.target.selectionStart)+key+oldval.slice(event.target.selectionEnd);
console.clear();
console.log(“旧值”,oldval);
console.log(“新值”,newval);
//验证和ajax代码
//return false;//不允许按键
返回true;//将允许按键
}
尝试将onkeydown更改为onkeyup或onkeypress?您不能。Onkeydown尚未输入任何内容。是否尝试将Onkeydown更改为onkeyup或onkeypress?无法。Onkeydown尚未输入任何内容。