我有代码,它可以和两个文本框值使用javascript

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

本文关键字:文本 两个 javascript 代码      更新时间:2023-09-26

我有代码,它可以使用javascript求和两个文本框值,但问题是,当我输入金额进入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页面之后,或在一个窗口内。加载处理程序,否则将无法找到advanceBox