用 onkeypress 改变 class

changing class with onkeypress

我正在学习 javascript 并且正在使用 bootstrap,所以我真的不必担心 css。 我有一个表单组,我想在用户输入内容时添加 class。这是我的代码:

<div class="form-group" id="loginForm">
    <label for="inputLogin" class="pull-left">Login</label>
    <input type="text" class="form-control" id="inputLogin" placeholder="Enter login" onkeypress="changeToGreenBorder('loginForm','inputLogin')">
</div>

它正在调用这些函数:

function changeToGreenBorder(string,string2){
        var tag = getElement(string);
        var tag2 = getElement(string2);
        if (tag2.innerHTML.length > 6) {
            tag.setAttribute('class','form-group has-success');
        } else if({
            tag.setAttribute('class','form-group has-error');
        }
    }

function getElement(string){
        var doc = document;
        return doc.getElementById(string);
    }

它正在处理错误 class,但是当它超过 6 个字母时,它不会切换到成功 class。我该如何解决?

你有一个挥之不去的 ( 和一个没有条件的 Else If 所以我认为你不需要 Else If 当您真正想要的是元素 valuelength 时,您还试图获得 innerHTML 的长度;

Working JSFiddle