У меня есть эта ошибка: не могу прочитать свойство 'значение' ноль, я не понимаю, почему - PullRequest
2 голосов
/ 23 февраля 2020

Я получаю ошибку в этом коде, я делаю калькулятор, который может складывать, вычитать, умножать и делить значения чисел, код читает их правильно, но когда я пытаюсь выполнить операции, я получаю ошибку , и я не понимаю, почему код не читает его, может кто-нибудь сказать мне, что я делаю неправильно? это код

function handleNumber(stNumber) {
    if(stNumber=="numero1")
    {
        Num1 = document.getElementById(stNumber).value*1;
    }else{
        Num2 = document.getElementById(stNumber).value*1;
    }
    return Num1, Num2;
}

function handleOperate() {
    var stOperation = document.getElementById(operaciones).value; 
    Execute(stOperation);
}

function Execute(stOperation) {
    var stResult = ""
    if(stOperation == "sumar"){
        stResult= sumar();
    } else if(stOperation =="restar"){
        stResult= restar();

    } else if(stOperation =="multiplicar"){
        stResult= multiplicar();

    } else if(stOperation =="dividir"){
        stResult= dividir();

    }

    document.getElementById("result").innerHTML = stResult;
}

это код html

<div class="Container-operation">
            <span>Operación</span>
            <div class="Button-container"  id="operator">
                <select onchange="handleOperate()" class="Panel-container" id="operaciones">
                    <option value="sumar">Sumar</option>
                    <option value="restar">Restar</option>
                    <option value="multiplicar">División</option>
                    <option value="dividir">Multiplicación</option>
                  </select>
          </div>
          </div>
        </div>

        <div class="Equal">
          =
        </div>

        <div class="Result-container">
          <span id="result">Resultado</span>
        </div>

1 Ответ

1 голос
/ 23 февраля 2020

Вы передаете переменную operaciones в getElementById(). Если вы не установите значение для этой переменной, оно не будет работать. Вы, вероятно, хотите вместо этого передать строку 'operaciones'.

...