des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

При удалении из input сбросить ошибку?

при вводе не чисел блокирую кнопку отправки. но вот при удалении букв и пустом инпут кнопка не разблокируется
<script>           
            var tmp = "id[<?php echo $id; ?>]";
            var elem = document.getElementById(tmp);

            elem.onchange  = function () {
                this.value = (this.value.replace(',', "."));
                if (isNaN(this.value)) { // введено не число
                    // показать ошибку
                    this.className = "error";
                    error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'

                    document.getElementById("submit").disabled = true;
                }
                else
                if (this.className == 'error' || this.value == "") { // сбросить состояние "ошибка", если оно есть
                    this.className = "";
                    error.innerHTML = "";
                    document.getElementById("submit").disabled = false;
                }
            };
        </script>
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
des1roer
@des1roer Автор вопроса
ученье - свет, а неученье - приятный полумрак
все чики-пуки. не в том месте правил код ))))
<script>
    var tmp = "id[<?php echo $id; ?>]";
    var elem = document.getElementById(tmp);

    elem.oninput = function () {
        this.value = (this.value.replace(',', "."));
        if (isNaN(this.value)) { // введено не число
            // показать ошибку
            this.className = "error";
            error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'
            document.getElementById("submit").disabled = true;
        }
        else
        if (this.className == 'error' || this.value == '') { // сбросить состояние "ошибка", если оно есть
            this.className = "";
            error.innerHTML = "";
            document.getElementById("submit").disabled = false;
        }
    };
</script>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы