Как удалить атрибут через Jquery?

Рейтинг: 0Ответов: 1Опубликовано: 09.12.2014

Всем привет. Вот код.

<form method="POST" action="<?php echo base_url();?>cabinet/registration" style="font-size: 16px;">

            <input type="text" name="email" id="email" value=""/>

            <input type="password" name="password" id="password" value=""/>

            <input type="password" name="re_password" id="re_password" value=""/>

            <input type="submit" value="Регистрация" name="registration" class="registration_submit" id="registration" disabled />
    </form>

Jquery

function checkParams() {
    var email = $('#email').val();
    var password = $('#password').val();
    var re_password = $('#re_password').val();

    if(email.length != 0 && password.length != 0 && re_password.length != 0) {

        $("#reg").prop("disabled", true);  
    } else {
        $("#reg").prop("disabled", false);
    }
}

Почему не удаляется атрибут disabled у кнопки?

Ответы

▲ 1

@duddeniska, давайте, я попробую предложить вам немного другой вариант, а вы подумаете и потом сами решите - брать на вооружение или нет.

<form method="POST" action="">
    <input type="text" name="email" />
    <input type="password" name="password" />
    <input type="password" name="re_password" />
    <input type="submit" id="reg" value="Регистрация" />
</form>

JS можете расположить в любом удобном вам месте:

$(function(){
    var checkFilds = $(':text, :password'),
        sbmt = $('#reg').prop('disabled', true);
    checkFilds.on('input', function(){
        var empty = checkFilds.filter(function(){
            var cVal = $.trim($(this).val());
            return cVal == '' || cVal.length < 3;
        }).length;
        sbmt.prop('disabled', empty);
    });
});

Мы не будем пропускать, если есть хоть одно пустое поле или поле в котором меньше трёх символов. Все остальные усовершенствования и доработки - это я оставляю вам ;)