我尝试过keyup和change函数,以下是它们无法成功的原因。用户输入代金券代码后,我想发送一个ajax请求来检查代金券是否存在于数据库中。我已尝试:
$('#discount-voucher').keyup(function(event) {
// Get the value
let value = $(this).val()
// Check if exists
$.ajax({
url: '{{ route('get-voucher') }}',
type: 'POST',
data: {_token: '{{ csrf_token() }}', code: value}
})
.done(function(data) {
if (data == 'error') {
$('span#voucher-error').text('Неавлиден ваучер')
}
})
.fail(function() {
console.log("error")
})
.always(function() {
console.log("complete")
})
})
但是,这些代金券将通过电子邮件发送,假设用户复制粘贴它们。这样是行不通的。 并且使用change函数时,用户必须在输入框外单击或按Enter键才能生效,我不希望出现这种情况,也不想出现提示/提示,提示用户“单击输入框外部或按Enter键以检查代金券是否有效”。所以我需要的是类似于change函数的东西,可以在没有点击或按Enter键的情况下生效。
keyup
/keydown
不起作用? - freginold