我的代码有效,但仅当我在存在的字符串之后再次写入时才返回 true。其中 flowName
是文本 input
。
例如:数据库:Flow123
按键时:Flow123 返回 false 但当我点击另一个键时它返回 true。
这是我的代码:
//validate flow name
$('#flowName').keypress(function () {
var flowName = $(this).val();
$.ajax({
url: '/check-flowName',
type: 'post',
data: {flowName: flowName},
success: function (result) {
console.log(result);
//if exists
if (result) {
}
//else do nothing
}
})
});
我该如何解决这个问题?
最佳答案
如果您使用 keypress
,您将在 input
的值中丢失最后按下的 key
,因为 按下键时触发事件
,因此它不会在 input
值中考虑此键。
解决方案:
您将需要使用 keyup
event ,所以当释放键时,最后按下的键可以被认为是 value
。
只需将代码中的 keypress
替换为 keyup
:
$('#flowName').keyup(function () {
var flowName = $(this).val();
});
关于javascript - 简单的按键事件不能在 jquery 上正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48540040/