programing

입력이 변경될 때 자바스크립트 기능을 실행하려면 어떻게 해야 합니까?

powerit 2023. 8. 6. 10:27
반응형

입력이 변경될 때 자바스크립트 기능을 실행하려면 어떻게 해야 합니까?

사용자가 내 웹 사이트에 새 계정을 만들 때 이름이 이미 있는지 확인하려고 합니다.나는 그들이 사용자 이름 입력 상자를 떠나 비밀번호를 입력하러 갈 때 이 확인을 실행하기를 원합니다.

노력했습니다.

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

의 함수를 호출합니다.change텍스트 필드 이벤트:

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

"onblur" 이벤트를 사용해야 합니다.컨트롤이 초점을 잃었을 때 실행됩니다. 이것이 바로 필요한 것처럼 보입니다.

당신이 사용했기 때문에onkeyup당신의 코드 예제에서, 당신은 모든 키 입력에서 함수를 호출하려고 하는 것처럼 들립니다.만약 그렇다면, 대신에.onchange그것은 다음과 같은 경우에 발생합니다.input초점을 잃음 - 사용해야 합니다.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')
})

언급URL : https://stackoverflow.com/questions/4886114/how-can-i-run-a-javascript-function-when-input-changes

반응형