4
我想計算一個數字的百分比(取自一個文本字段)並將計算值設置爲另一個表單字段。爲此,我嘗試了下面的代碼,但我正在觀察js正在檢測的關鍵事件/小數位的不匹配。百分比計算錯誤
例如,如果我在第一個輸入字段中提供100(以計算1.75的百分比),基於我的js代碼,我期望得到1.75,但在第二個文本字段中它將達到0.175。 我知道這是一個非常簡單的計算,但我無法解決這個問題。
var reFee = document.getElementById("Estimated Referral Fee");
var LnAmt = document.getElementById("Loan Amount");
reFee.disabled = true;
LnAmt.onkeydown =
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
calcPer(LnAmt.value);
}
function calcPer(amtval) {
var pernum = 1.75;
reFee.value = (pernum/100) * amtval;
}
<div class="form-group">
<label class="control-label col-sm-2">Loan Amount</label>
<div class="col-sm-10">
<input id="Loan Amount" placeholder="Provide Loan Amount" data-toggle="tooltip" data-original-title="Provide Loan Amount" required="required" class="form-control" name="Loan Amount" type="text" value="">
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">Estimated Referral Fee</label>
<div class="col-sm-10">
<input id="Estimated Referral Fee" placeholder="Your referral fee" data-toggle="tooltip" data-original-title="Your referral fee" required="required" class="form-control" name="Estimated Referral Fee" type="text" value="" disabled="">
<span class="help-block"></span>
</div>
</div>
這是因爲使用了'onkeydown',它給你的價值,你按下鍵之前,所以在按下第二個'0' ,它接收到第一個字符「10」。嘗試使用'onkeyup'或'oninput',你會看到它的工作。 –
@squint:是'onkeyup'爲我工作:)謝謝 – krishna89
不客氣。 –