JavaScript问题。 if('#id' .value =' #a不同的ID' .value)

时间:2015-07-29 08:13:31

标签: javascript html

if('#inputSuccess4'.value = '#inputSuccess5'.value){
    $('#emailcheck3').removeClass('has-error');
    $('#emailcheck4').removeClass('glyphicon-remove');
    $('#emailcheck3').addClass('has-success');
    $('#emailcheck4').addClass('glyphicon-ok');
}

我正在对电子邮件输入进行JS验证并确认电子邮件地址输入。如果两个值相同,则该位代码会生成绿色勾号。问题必须出在第一行代码中。 Btw #inputSuccess4和#inputSuccess5只是两个输入框的id。

if(('#inputSuccess4').value = ('#inputSuccess').value)

这无效

编辑:

包含html代码的完整函数,以防语法错误在其他地方。

    <div id="emailcheck" class="form-group has-feedback ">
        <input placeholder="Email address" onblur="validateEmail()" onkeyup="validateEmail()" type="text" class="form-control" id="inputSuccess4" aria-describedby="inputSuccess4Status" required/>
        <span id="emailcheck2" class="glyphicon form-control-feedback " aria-hidden="true"></span>
    </div>
    <div id="emailcheck3" class="form-group has-feedback ">
        <input placeholder="Confirm email address" onblur="validateEmail2()" onkeyup="validateEmail2()" type="text" class="form-control" id="inputSuccess5" aria-describedby="inputSuccess5Status" required/>
        <span id="emailcheck4" class="glyphicon form-control-feedback " aria-hidden="true"></span>
    </div>

和js

function validateEmail2() {
        var email = document.getElementById("inputSuccess5").value; 

            if(email != ""){    

                if(('#inputSuccess4').value = ('#inputSuccess5').value){

                    $('#emailcheck3').removeClass('has-error');
                    $('#emailcheck4').removeClass('glyphicon-remove');
                    $('#emailcheck3').addClass('has-success');
                    $('#emailcheck4').addClass('glyphicon-ok');
                    }

                else {
                    $('#emailcheck3').removeClass('has-success');
                    $('#emailcheck4').removeClass('glyphicon-ok');
                    $('#emailcheck3').addClass('has-error');
                    $('#emailcheck4').addClass('glyphicon-remove');
                    }
            }
            else {
            $('#emailcheck3').removeClass('has-success');
            $('#emailcheck4').removeClass('glyphicon-ok');
            $('#emailcheck3').removeClass('has-error');
            $('#emailcheck4').removeClass('glyphicon-remove');
            }
        }

2 个答案:

答案 0 :(得分:1)

字符串没有属性value。使用$('#inputSuccess4').val()

此外,比较运算符为== / <= / >= / !=。虽然if (v = x)表示条件分配(与x == true相同)

答案 1 :(得分:1)

首先,如果=使用不是比较,则应使用==,功能应如下所示

if($('#inputSuccess4').val() == $('#inputSuccess5').val()){
    $('#emailcheck3').removeClass('has-error');
    $('#emailcheck4').removeClass('glyphicon-remove');
    $('#emailcheck3').addClass('has-success');
    $('#emailcheck4').addClass('glyphicon-ok');
}