如何在输入更改时运行javascript函数

时间:2011-02-03 12:26:28

标签: javascript html ajax

当用户在我的网站上创建新帐户时,我想检查该名称是否已存在。我希望在他们离开用户名输入框并输入密码时运行此检查。

我试过了:

<input type="text" onkeyup="check_user(this.value)"/>

5 个答案:

答案 0 :(得分:13)

在文本字段的change事件中调用该函数:

<input name="username" onChange="check_user(this.value);" type="text"/>

答案 1 :(得分:9)

您需要使用“onblur”事件。它会在控件失去焦点时触发,这似乎正是您所需要的。

答案 2 :(得分:5)

因为您在代码示例中使用了onkeyup,所以听起来您希望在每次按键时都调用一个函数。如果是这种情况,则代替onchange - 当input失去焦点时触发 - 你应该使用oninput,只要输入内部发生变化,它就会触发。

答案 3 :(得分:1)

我认为您正在寻找检查用户的重复。 你必须为此编写服务器端代码。

答案 4 :(得分:0)

如果您想在窗口中输入特定内容时触发:

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')
})