2017-11-16 6 views
0

txtFirstNumberValue - txtSecondNumberValueを追加して、すでにtxtThirdNumberValueの値を追加していますが、私のケースでは機能しません。t2からt1を差し引いて既に存在するt3に追加し、t3に表示されます。

function sub() { 
 
    var txtFirstNumberValue = document.getElementById('payment_image').value; 
 
    var txtSecondNumberValue = document.getElementById('pay_amount').value; 
 
    var txtThirdNumberValue = document.getElementById('pay_balance').value; 
 
    if (txtFirstNumberValue == "") 
 
    txtFirstNumberValue = 0; 
 
    if (txtSecondNumberValue == "") 
 
    txtSecondNumberValue = 0; 
 
    var result = parseInt(txtFirstNumberValue) - parseInt(txtSecondNumberValue); 
 

 
    if (!isNaN(result)) { 
 
    document.getElementById('pay_balance').value += result; 
 
    } 
 
}
<div class="input-box"> 
 
    <span>Amount</span> 
 
    <input placeholder="Payment Amount" type="text" name="payment_image" onkeyup="sub();" id="payment_image" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Expences</span> 
 
    <input placeholder="Expenses" type="text" name="expenses" id="pay_amount" onkeyup="sub();" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Balance</span> 
 
    <input placeholder="Balance" value="15" readonly="readonly" type="text" name="pay_balance" id="pay_balance" class="number"> 
 
</div>

txtThirdNumberValueは、あなたがそれに結果を追加する前に、文字列から数値への既存の値を変換する必要がPHPコードから動的に

+0

私は何を意味することであり、T1 = 10、T2 = 5、T3 = 15次に、結果= 10-5 = 5およびT3 = 15 + 5 = 20 – Piyu

答えて

0

コール機能second text onblur event

に基数の値を使用して、ここで変更する必要がありますもう一つ

document.getElementById('pay_balance').value = parseInt(txtThirdNumberValue) + result; 

function sub() { 
 
    var txtFirstNumberValue = document.getElementById('payment_image').value; 
 
    var txtSecondNumberValue = document.getElementById('pay_amount').value; 
 
    var txtThirdNumberValue = document.getElementById('pay_balance').value; 
 
    if (txtFirstNumberValue == "") 
 
    txtFirstNumberValue = 0; 
 
    if (txtSecondNumberValue == "") 
 
    txtSecondNumberValue = 0; 
 
    var result = parseInt(txtFirstNumberValue) - parseInt(txtSecondNumberValue); 
 
    //alert(result); 
 
    if (!isNaN(result)) { 
 
    document.getElementById('pay_balance').value = parseInt(txtThirdNumberValue) + result; 
 
    } 
 
}
<div class="input-box"> 
 
    <span>Amount</span> 
 
    <input placeholder="Payment Amount" type="text" name="payment_image" id="payment_image" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Expences</span> 
 
    <input placeholder="Expenses" type="text" name="expenses" id="pay_amount" onblur="sub();" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Balance</span> 
 
    <input placeholder="Balance" value="15" readonly="readonly" type="text" name="pay_balance" id="pay_balance" class="number"> 
 
</div>

0

が来ています。ここでそれを行う方法は次のとおりです。

function sub() { 
 
    var txtFirstNumberValue = document.getElementById('payment_image').value; 
 
    var txtSecondNumberValue = document.getElementById('pay_amount').value; 
 
    var txtThirdNumberValue = document.getElementById('pay_balance').value; 
 
    if (txtFirstNumberValue == "") 
 
    txtFirstNumberValue = 0; 
 
    if (txtSecondNumberValue == "") 
 
    txtSecondNumberValue = 0; 
 
    var result = parseInt(txtFirstNumberValue) - parseInt(txtSecondNumberValue); 
 

 
    if (!isNaN(result)) { 
 
    var existing = parseInt(document.getElementById('pay_balance').value); 
 
    var newResult = result + existing; 
 
    document.getElementById('pay_balance').value = newResult; 
 
    } 
 
}
<div class="input-box"> 
 
    <span>Amount</span> 
 
    <input placeholder="Payment Amount" type="text" name="payment_image" onkeyup="sub();" id="payment_image" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Expences</span> 
 
    <input placeholder="Expenses" type="text" name="expenses" id="pay_amount" onkeyup="sub();" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Balance</span> 
 
    <input placeholder="Balance" value="15" readonly="readonly" type="text" name="pay_balance" id="pay_balance" class="number"> 
 
</div>

+0

私は何を意味することであり、T1 = 10、T2 = 5、t3 = 15、結果= 10-5 = 5、t3 = 15 + 5 = 20 – Piyu

0

は、私はあなたがやろうとしているのか分からないが、あなたはparseIntはあなたの第三値は、それを再度追加する必要があります。

ここにあなたが間違ったことがあります。

あなたのparseInt

function sub() { 
 
    var txtFirstNumberValue = document.getElementById('payment_image').value; 
 
    var txtSecondNumberValue = document.getElementById('pay_amount').value; 
 
    var txtThirdNumberValue = document.getElementById('pay_balance').value; 
 
    if (txtFirstNumberValue == "") 
 
    txtFirstNumberValue = 0; 
 
    if (txtSecondNumberValue == "") 
 
    txtSecondNumberValue = 0; 
 
    var result = parseInt(txtFirstNumberValue, 10) - parseInt(txtSecondNumberValue, 10); 
 

 
    if (!isNaN(result)) { 
 
    //This is what you should be doing. You didn't convert the value to int 
 
    //You were concatinating it as a string 
 
    var payVal = parseInt(document.getElementById('pay_balance').value, 10); 
 
    payVal += result; 
 
    document.getElementById('pay_balance').value = payVal; 
 
    } 
 
}
<div class="input-box"> 
 
    <span>Amount</span> 
 
    <input placeholder="Payment Amount" type="text" name="payment_image" onkeyup="sub();" id="payment_image" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Expences</span> 
 
    <input placeholder="Expenses" type="text" name="expenses" id="pay_amount" onkeyup="sub();" class="number"> 
 
</div> 
 
<div class="input-box"> 
 
    <span>Balance</span> 
 
    <input placeholder="Balance" value="15" readonly="readonly" type="text" name="pay_balance" id="pay_balance" class="number"> 
 
</div>

関連する問題