2016-06-28 10 views
0

私はJavaScriptの初心者です。私は、ユーザーが入力フィールドを介して値を入力するコードを持っています( '所定の料金を入力する')。私が望むのは、ユーザーが '1000'以上を入力すると、進んだ値が別の入力テキスト( 'advance fee')に来るはずです。Javascript:残高を計算し、テキストフィールド入力を進める

ユーザが「1000」よりも小さいタイプを入力した場合、残高は別のテキスト入力(「残高」)になるはずです。

Fiddle私はで働いていた道を運ぶ

私のHTMLフォームがある:。

<form> 
<div class="tbl_admission_FormCell">Given Fees</div> 
    <div class="tbl_admission_FormCell" style="padding:10px;"><input type="text" name="given_fees" value="" id="given_fees" onkeypress="givenfees()" onkeyup="givenfees()"/> </div> 

<div class="tbl_admission_FormCell">Balance Fees</div> 

<div class="tbl_admission_FormCell"><span id="balance_fees"></span> </div> 

<div class="tbl_admission_FormCell">Advance Fees</div> 

<div class="tbl_admission_FormCell"><span id="advance_fees"></span> </div> 
<div class="tbl_admission_FormRow"> 
    <div class="tbl_admission_FormCell">Total Fees</div> 
    <div class="tbl_admission_FormCell"><input type="text" id="total_fees" name="total_fees" style="border:none;" value="1000" readonly/></div> 
    <div class="tbl_admission_FormCell"><div class="amt_total" onchange="amt_total()" ></div></div> 
    </div> 
</form> 
<script> 
function givenfees(){ 
    var given_fees = document.getElementById("given_fees"); 
    var s = given_fees.value; 
    bal_value = +s - +result;  
    var balance_fees = document.getElementById("balance_fees"); 
    if(+bal_value<0) 
    { 
    advance_fees.innerText = +bal_value; 
    } 
    else 
    {balance_fees.innerText = +bal_value;} 
} 
</script> 
+2

'result'が定義されていません! – Rayon

+0

@rafter、私は結果を処理できませんでした。私は助けを求めています。しかし、私は希望の出力を言及しました。 – Keynes

答えて

2

のONCHANGE 'calValue' 関数を呼び出しておいてください、私はあなたの答えを編集しました。 fiddleを確認してください。あなたの問題を正確に理解すれば、これがあなたを助けてくれることを願っています。

function givenfees(){ 
    var result=1000; 
    var given_fees = document.getElementById("given_fees"); 
    var s = given_fees.value; 
    bal_value = +s - +result;  
    var balance_fees = document.getElementById("balance_fees"); 
    if(+bal_value>0) 
    { 
    advance_fees.innerText = +bal_value; 
    balance_fees.innerText = 0; 
    } 
    else 
    { 
    balance_fees.innerText = +bal_value; 
    advance_fees.innerText = 0; 
    } 
} 
+0

答えとフィドルのためにありがとう。私は、実際の残高の後に、事前/残高を「0」とすることを忘れてしまった。それは私を助けてくれました.. – Keynes

+1

それは素晴らしいです:-) – Tasawar

+0

私はupvoteを与え、否定的な投票に満足していないとしてこの質問を受け入れてください.. :) – Keynes

-1

はINPUT1

function calValue(){ 
    var input1 = document.getElementById("input1").value; 
    var input2 = document.getElementById("input2"); 
    if(input1 >= 1000){ 
    input2.value = input1 - 1000; 
    }else{ 
    input2.value = 1000 - input1; 
    } 
} 
関連する問題