我对Javascript很新;在大约3天内新...我正在创建一个计算器,从三个输入字段中提取数据,然后计算出粗略的月度和年度总数。然后它使用此总数动态构建表。
在大多数情况下,我有一切工作,但有一个例外。如果有人在输入字段中键入逗号,它将只识别逗号前的值。例如,如果他们输入10,000;它会将其读作10.我试图将其置于基于正则表达式的替换中,但它似乎不起作用。我可能把它放在错误的地方,但我尝试了几种不同的方式,所以现在肯定。
以下是我遇到问题的代码部分。
<input onblur="findTotal();" type="text" name="qty" id="qty1"/>
<input onblur="findTotal();" type="text" name="qty" id="qty2"/>
<input onblur="findTotal()" type="text" name="qty" id="qty3"/>
<input disabled type="text" name="totalyr" id="totalyr"/>
<input disabled type="text" name="totalmo" id="totalmo"/>
<script type="text/javascript">
function findTotal(){
var getqty = document.getElementsByName('qty');
var tot=0;
for(var i=0;i<getqty.length;i++){
if(parseInt(getqty[i].value))
(tot += parseInt(getqty[i].value));
}
document.getElementById('totalmo').value = tot*4;
document.getElementById('totalyr').value = tot*52;
}
</script>
我也尝试过输入数字,但是没有做任何事情。
非常感谢任何建议!
答案 0 :(得分:0)
昨天有这个,这对我有用
var getqty = document.getElementsByName('qty').value.replace(/,/g, "");
或类似
var getqty = +document.getElementByName("qty").value.replace(/[^\de.-]/gi, "");