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

C помощью js разделить числа?

<script>
    var input = document.getElementById("id[13]");
    var ca = document.getElementById("id[11]");
    var si = document.getElementById("id[12]");
    
      ca.onblur = function () {
        this.value = (this.value.replace(',', "."));
        if (isNaN(this.value)) { // введено не число
            // показать ошибку
            this.className = "error";
            error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'
            
        }
    };
  
    si.onblur = function () {
        this.value = (this.value.replace(',', "."));
        if (isNaN(this.value)) { // введено не число
            // показать ошибку
            this.className = "error";
            error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'
            alert(ca.value);
            if (ca.value != null)
                input.value = ca.value / this.value;
        }
    };

    input.onfocus = function () {
        if (this.className == 'error') { // сбросить состояние "ошибка", если оно есть
            this.className = "";
            error.innerHTML = "";
        }
    };
</script>

где я ошибся?
  • Вопрос задан
  • 317 просмотров
Пригласить эксперта
Ответы на вопрос 2
orlov0562
@orlov0562
I'm cool!
Смотри код на фронтенде (есть ли там твой js) и ошибки в консоле браузера по F12
Ответ написан
Комментировать
des1roer
@des1roer Автор вопроса
ученье - свет, а неученье - приятный полумрак
с вложенностью if напутал
<script>
    var input = document.getElementById("id[13]");
    var ca = document.getElementById("id[11]");
    var si = document.getElementById("id[12]");
    input.disabled = true;

    ca.onblur = function () {
        this.value = (this.value.replace(',', "."));
        if (isNaN(this.value)) { // введено не число
            // показать ошибку
            this.className = "error";
            error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'
        }
        else {
            if (!isNaN(si.value)) {
                input.value = ((parseFloat(ca.value) || 0) / (parseFloat(si.value) || 0)).toFixed(3);
            }
        }
    };

    si.onblur = function () {
        this.value = (this.value.replace(',', "."));
        if (isNaN(this.value)) { // введено не число
            // показать ошибку
            this.className = "error";
            error.innerHTML = 'Вы ввели не число. Исправьте, пожалуйста.'
        }
        else {
            if (!isNaN(ca.value)) {
                input.value = ((parseFloat(ca.value) || 0) / (parseFloat(this.value) || 0)).toFixed(3);
            }
        }
    };

    si.onfocus = function () {
        if (this.className == 'error') { // сбросить состояние "ошибка", если оно есть
            this.className = "";
            error.innerHTML = "";
        }
    };
    ca.onfocus = function () {
        if (this.className == 'error') { // сбросить состояние "ошибка", если оно есть
            this.className = "";
            error.innerHTML = "";
        }
    };
</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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