Как получать стоимость, введенную в компьютер в поле Текста HTML?

Я нуждаюсь в том, чтобы ввести Общую сумму в поле текста..., выйдя из этого поля, должен вычислять налог на эту общую сумму (налог = я собираю * 0.12) также общее количество (общее количество = я собираю + налог) и устанавливать эту стоимость в других полях текста автоматически.

Код HTML

<input type="text" id="Monto" name="Monto" placeholder="Monto" onchange="CalculoIva()" required />
<input type="text" id="Iva" name="Iva" placeholder="Iva"  required />
<input type="text" id="Total" name="Total" placeholder="Total"  required />

Я это пробую, но оно не функционирует

 <script lang="javascript" type="text/javascript">
       var monto = 0;
       onchange = CalculoIva();
       function CalculoIva() {
           monto = document.getElementById('Monto').innerText ;
           var iva = parseFloat(monto) * 0.12;
           var total = parseFloat(monto) + parseFloat(iva);
           document.getElementById("Iva").innerHTML = iva.toString();
           document.getElementById("Total").innerHTML = total.toString();
       }
   </script> 
6
задан 17.04.2017, 06:45
2 ответа

refactorizado немного код ответа sioesi

  • Удаленный inline javascript в HTML
  • inputs: iva и total измененный в readonly
  • Функция CalculoIva() он сейчас переиспользуемый
  • Проверь, если стоимость monto он числовой
  • Resetea все поля, если это не действительное число
  • Измененный точка из-за comma (Европейский Стандарт)
  • Последованный формат iva и total в десятичные 2 (0,00)

function CalculoIva(monto, iva, total) {
  
  montoParse = parseFloat(monto.value);
  
  if (typeof montoParse === 'number' && !isNaN(montoParse)) {
    
      var ivaCalc   = montoParse * 0.12;
      var totalCalc = montoParse + ivaCalc;
    
      iva.value   = ivaCalc.toFixed(2).replace('.', ',');
      total.value = totalCalc.toFixed(2).replace('.', ',');
    
  } else {
    
      iva.value   = '';
      total.value = '';
      monto.value = '';
      console.log('Introduce un numero válido');
  }
}

var monto = document.getElementById('Monto');
var iva   = document.getElementById('Iva');
var total = document.getElementById('Total');


monto.onchange = function(){ CalculoIva(monto, iva, total); }
<input type="text" id="Monto" name="Monto" placeholder="Monto" required>
<input type="text" id="Iva" name="Iva" placeholder="Iva"  readonly>
<input type="text" id="Total" name="Total" placeholder="Total" readonly>
3
ответ дан 24.11.2019, 12:52

Ты должен делать чем-либо подобным

function CalculoIva() {
    var monto = document.getElementById('Monto').value;
    if(isNaN(monto)){
        alert("Introduce un numero, por favor");
        document.getElementById('Monto').value = "";
    }else{
        var iva = parseFloat(monto) * 0.12;
        var total = parseFloat(monto) + parseFloat(iva);
        document.getElementById("Iva").value = iva;
        document.getElementById("Total").value = total;
    }
};
<input type="text" id="Monto" name="Monto" placeholder="Monto" onChange="CalculoIva();" required />
<input type="text" id="Iva" name="Iva" placeholder="Iva" required />
<input type="text" id="Total" name="Total" placeholder="Total" required />
3
ответ дан 24.11.2019, 12:52

Теги

Похожие вопросы