簡體   English   中英

我有代碼可以使用javascript求和兩個文本框值

[英]i have code it can be sum two textbox values using javascript

我有代碼,它可以使用JavaScript,但問題是,當我進入到量總和是兩個TextBox值recamt文本框的值和javascript計數一次又一次recamt文本框的值應該只算一次recamt不是一次又一次的文本框的值?

<script type="text/javascript">
function B(){
document.getElementById('advance').value
=(parseFloat(document.getElementById('advance').value))+
(parseFloat(document.getElementById('recamt').value));
return false;
}  
</script>

<input class="input_field2" type="text" readonly name="advance" 
id="advance" value="50" onfocus="return B(0);" /><br />
<input class="input_field2" type="text" name="recamt" id="recamt">

您可以在只讀文本字段上保留一個屬性以保留舊值:

function B()
{
    var adv = document.getElementById('advance'),
    rec = document.getElementById('recamt');

    if (typeof adv.oldvalue === 'undefined') {
        adv.oldvalue = parseFloat(adv.value); // keep old value
    }

    adv.value = adv.oldvalue + parseFloat(rec.value));
    rec.value = '';

    return false;
}

每次使用新值對只讀輸入進行聚焦時,便要調用sum函數。 如果只希望將其添加到原始值,則需要將其存儲在某個位置。

HTML:

<input type="text" id="advance" readonly="readonly" value="50" /><br />
<input type="text" id="recamt">

JS:

var advanceBox = document.getElementById('advance');
var originalValue = advanceBox.value;

advanceBox.onclick = function() {
    this.value = parseFloat(originalValue) +
        parseFloat(document.getElementById('recamt').value);

    return false;
};

http://jsfiddle.net/hQbhq/

筆記:

  • 您應該使用javascript而不是HTML綁定處理程序。
  • 該javascript必須存在於頁面上的HTML 之后或window.load處理程序的內部,否則它將無法找到advanceBox

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM