Member 10998022 Ответов: 1

Как показать разницу с помощью javascript?


Почему Нэн?
Я хочу показать разницу между "Total" и "Paid" суммой-это "Total Due" в JavaScript. Как это показать?

Когда я вычисляю "промежуточный итог" и "налог", ans будет отображаться в ячейке "Total", а когда я пытаюсь показать "Total Due" из (Total-Paid), то печатаю NaN в ячейке "Total Due" в JavaScript
Как это сделать?

Что я уже пробовал:

JavaScript :

function taxcal()
{
  var per=100;
  var subtotal=parseInt(document.getElementById('subtotal').value);
  var tax=parseInt(document.getElementById('tax').value);
  var total=parseInt(document.getElementById('total').value);
 
  if (isNaN(tax)) tax=0;

  var total1=(subtotal*(tax/per).toFixed(2));
  total=total1+subtotal;
  document.getElementById("total").innerHTML=total;
  console.log(document.getElementById('total').value);
}

function totaldue()
{
  var total=parseInt(document.getElementById('total').value);
  var paid=parseInt(document.getElementById('paid').value);
  var totaldue=parseInt(document.getElementById('totaldue').value);

  var totaldue1=Math.abs((total-paid).toFixed(2));
  document.getElementById("totaldue").innerHTML=totaldue1;
}

HTML :
<table>
.
.
.
<td valign="middle" align="center" width="100%">
        <input type="text" id="subtotal" name="subtotal" onKeyUp="result(this.form)" onKeyUp="taxcal(this.form)" class="subtotal" value="0.00" style="border:none;width: 100%;"/>
        <input type="text" id="tax" class="tax" name="tax" onKeyUp="taxcal(this.form)" onKeyUp="totaldue(this.form)" style="border:none;width: 100%;">
    </td>

    </tr>
  </table>
</div>
<br>
<div class="form-group text-center">
  <table style="float: left;margin-left: 25px;" cellpadding="1" cellspacing="1" border="1">
  <tr><td width="70%" bgcolor="#e2dad8"><label style="font-style: bold;"><font size="4px">Comment :</label></td></tr>
  <tr>
    <td><textarea rows="2" style="width: 100%;border:none;" class="form-control"></textarea></td></tr>
  </table>
 
  <table style="float: right;margin-right: 31px;" cellpadding="1" cellspacing="1" border="1" width="30%">
      <tr>
        <td width="20%" bgcolor="#e2dad8"><font size="4px">
          Total
        </td>
        <td width="10%">
          <p name="total" id="total" onKeyUp="totaldue(this.form)" readonly="readonly" value="00.00" class="text-center" style="border: none;"></p>
        </td>
      </tr>
      <tr>
        <td width="20%" bgcolor="#e2dad8"><font size="4px">Paid</td>
        <td width="10%">
          <input type="text" name="paid" onKeyUp="totaldue(this.form)" id="paid" class="text-center" style="border:none;">
        </td>
      </tr>
      <tr>
        <td width="20%"  bgcolor="#e2dad8"><font size="4px">Total Due</td>
        <td width="10%">
          <p class="text-center" id="totaldue" name="totaldue" value="0.00" onKeyUp="totaldue(this.form)" readonly="readonly" style="border:none;"></p>
        </td>
      </tr>
    </table>
</div> 

1 Ответов

Рейтинг:
2

RajuAhmed

Привет, вот твое решение.
Я проанализировал ваш код и обнаружил ошибку в вашем коде. вы просто создаете ошибку в своей функции "totalDue". а вот и функциональный код

function totaldue()
{
  var total=parseInt(document.getElementById('total').innerHTML);
  var paid=parseInt(document.getElementById('paid').value);
  if(isNaN(paid))
      paid=0;
  var totaldue=parseInt(document.getElementById('totaldue').innerHTML);
  
  var totaldue1=Math.abs((total-paid).toFixed(2));
  document.getElementById("totaldue").innerHTML=totaldue1;
}


И еще одна вещь, которую я нашел в вашем коде, там нет функции "результат", но вы использовали в следующей строке, которую вы должны удалить.
<input type="text" id="subtotal" name="subtotal" onKeyUp="result(this.form)" onKeyUp="taxcal(this.form)" class="subtotal" value="0.00" style="border:none;width: 100%;"/>


и эта линия должна быть такой:
<pre><input type="text" id="subtotal" name="subtotal"  onKeyUp="taxcal(this.form)" class="subtotal" value="0.00" style="border:none;width: 100%;"/>