Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Отключение button по id (https://javascript.ru/forum/dom-window/77957-otklyuchenie-button-po-id.html)

HotReboot 07.07.2019 00:40

Отключение button по id
 
Здравствуйте. Есть форма с проверкой средствами JS на совпадение паролей, существующего login' а email'а.
<input class="password" name="password" type="password">
<input id="login_reg" name="login" type="text">
<span id="msgbox_login" style="display:none"></span>
<input class="cor_password" name="cor_password" type="password">
<div class="error"></div>
<input id="email_reg" type="email" name="email>
<span id="msgbox_reg" style="display:none"></span>
<button type="submit" name="register" id="submit" >Отправить</button>

Так как я в JS чайник, то сиё ниже взято откуда-то
<script type="text/javascript">
$(".cor_password").on("keyup", function() {
    var value_input1 = $(".password").val();
    var value_input2 = $(this).val();
    if(value_input1 != value_input2) {
        $(".error").html("Пароли не совпадают!");
        $("#submit").attr("disabled", "disabled");
    } else {
        $("#submit").removeAttr("disabled");
        $(".error").html("");
    }
});
</script>

<script language="javascript">
    $(document).ready(function() {
        $("#email_reg").blur(function() {
            $("#msgbox_reg").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
            $.post("./system/mail_check.php", {
                user_email_reg: $(this).val()
            }, function(data) {
                if (data == 'no')
                {
                    $("#msgbox_reg").fadeTo(10, 0.1, function()
                        {
                            $(this).html('Этот E-Mail уже существует').addClass('messageboxerror').fadeTo(900, 1);
                            $("#submit").attr("disabled", "disabled"); 
                        });
                } else {
                    $("#msgbox_reg").fadeTo(10, 0.1, function() {
                        $(this).html('');
                        $("#submit").removeAttr("disabled"); 
                    });
                }
            });
        });
    });
</script>

Для поля логин такой-же последний код соответственно с другими id. Всё это работает, но так как у button id один, то при несовпадение паролей или нахождения email'а/login'а кнопка не disabled. Если оставить, что нибудь одно, то по отдельности выключается. Есть выход? Спасибо.

Dilettante_Pro 08.07.2019 12:11

HotReboot,
Можно сделать глобальные флаги результата проверки каждого параметра и состояние кнопки определять по сочетанию всех этих флагов.


Часовой пояс GMT +3, время: 13:38.