当用户在我的网站上创建新账户时,我想检查该用户名是否已存在。我希望这个检查在他们离开用户名输入框且进入密码输入框时运行。
我尝试了:
我尝试了:
<input type="text" onkeyup="check_user(this.value)"/>
<input type="text" onkeyup="check_user(this.value)"/>
在文本字段的 change
事件上调用该函数:
<input name="username" onChange="check_user(this.value);" type="text"/>
onkeyup
,所以听起来您想在每次按键时调用一个函数。如果是这样的话,那么您应该使用 oninput
,而不是会在 input
失去焦点时触发的 onchange
。使用 oninput
会在输入框内部发生任何更改时触发。我认为你想要检查用户的重复性。 你需要编写服务器端代码来实现。
phr = 'lol'
ltr = phr.split('')
text = ''
document.addEventListener('keyup',function(k){
if (ltr.includes(k.key)) {
text += k.key
if (text == phr) {
console.log('Typed!')
text = ''
}
} else {
text = ''
}})
作为一个函数,您可以这样使用它:
function wtt(phrase,clb) {
phr = phrase
ltr = phr.split('')
text = ''
document.addEventListener('keyup',function(k){
if (ltr.includes(k.key)) {
text += k.key
if (text == phr) {
clb()
text = ''
}
} else {
text = ''
}})
}
wtt('my phrase', function () {
console.log('dostuff')
})
blur
事件。但是@Awais提供了一个更好的解决方案,因为当输入框失去焦点且文本内容发生改变时,change
事件将被触发。 - Felix Kling