2017-09-01 36 views
-3
<pre> 
    <input type='text' value='0' class='number' name='amount1'> 
    <input type='text' value='0' class='number' name='amount2'> 
    <input type='text' value='0' class='total' name='total'> 
</pre> 

<script> 
var Total=0; 
$(".number").focusout(function(){ 
if(!isNaN(parseInt($(this).val())) || parseInt($(this).val())>=0){ 
Total+=parseInt($(this).val()); 
$(".total").text(Total); 
} 
}); 
</script> 
  1. 当我把文本框“100hai”的JavaScript采取100是一个数字。 并用100计算 2.当我将文本框asdas100放入时,确认无误。 做什么用的1问题
+0

使用''和'this.valueAsNumber'而不是'$(this).val()' – Endless

+0

https://jsfiddle.net/d37yw04v/ – Endless

回答

0

改变你的HTML

<pre> 
    <input type="number" value="0" class="number" name="amount1" min="1"> 
<input type="number" value="0" class="number" name="amount2" min="1"> 
    <input type='text' value='0' class='total' name='total'> 
</pre> 

通过设置最小值可以确保使用习惯能够插入值小于该

0

尝试下面的代码,如果它解决您的问题:

$(".number").keypress((function (e) { 
//if the letter is not digit then display error and don't type anything 
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { 
//display error message 
    $("#errmsg").html("Digits Only").show().fadeOut("slow"); 
      return false; 
    } 
    else { 
    Total+=parseInt($(this).val()); 
    $(".total").text(Total); } 
0

不要使用parseInt()方法。使用号码(/ 您的变量 /)。