相乘时出现 NaN 错误
NaN error when multiplying
我有这个脚本可以将两列相乘并在第三列显示总数。这是代码:
<script>
$(function() {
$("#num1, #num2").on("keydown keyup", sum);
function sum() {
$("#total").val(Number($("#num1").val()) * Number($("#num2").val()));
}
});
</script>
和形式:
<form method="POST" name="form1" action="" ">
<label>num1</label>
<input name="num1" id="num1" type="text" value="SOMENUMBER" />
<label>num2</label>
<input type="text" name="num2" id="num2" value="SOMENUMBER"/>
<label>total</label>
<input type="text" name="total" style="width: 40%;" id="total" readonly />
<button class="square" name="btn" type="submit">SOMEBUTTONNAME</button>
</form>
您在 HTML 中有 3x "
:action="" "
。
此代码可防止非数字字符并在单击按钮或更改某些数字时计算结果。
function sum() {
var num1 = $("#num1").val().replace(",",".");
var num2 = $("#num2").val().replace(",",".");
var decimals_prepare = (num1.indexOf(".") > -1) ? num1.split(".")[1].length : 0;
return (!isNaN(num1) && !isNaN(num2)) ? $("#total").val((num1 * num2).toFixed(decimals_prepare)) : console.log("false");
}
$(function() {
$("#num1, #num2").on("keydown keyup", sum);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="POST" name="form1" action="">
<label>num1</label>
<input name="num1" id="num1" type="text" value="5" />
<label>num2</label>
<input type="text" name="num2" id="num2" value="2" />
<label>total</label>
<input type="text" name="total" style="width: 40%;" id="total" readonly />
<button class="square" name="btn" type="submit" onclick="sum()">SOMEBUTTONNAME</button>
</form>
先检查你的号码是否有效
function sum() {
var value1 = $("#num1").val();
var value2 = $("#num2").val();
if (isNaN(value1) || isNaN(value2){
return;
}
$("#total").val(Number(value1) * Number(value2));
}
我有这个脚本可以将两列相乘并在第三列显示总数。这是代码:
<script>
$(function() {
$("#num1, #num2").on("keydown keyup", sum);
function sum() {
$("#total").val(Number($("#num1").val()) * Number($("#num2").val()));
}
});
</script>
和形式:
<form method="POST" name="form1" action="" ">
<label>num1</label>
<input name="num1" id="num1" type="text" value="SOMENUMBER" />
<label>num2</label>
<input type="text" name="num2" id="num2" value="SOMENUMBER"/>
<label>total</label>
<input type="text" name="total" style="width: 40%;" id="total" readonly />
<button class="square" name="btn" type="submit">SOMEBUTTONNAME</button>
</form>
您在 HTML 中有 3x "
:action="" "
。
此代码可防止非数字字符并在单击按钮或更改某些数字时计算结果。
function sum() {
var num1 = $("#num1").val().replace(",",".");
var num2 = $("#num2").val().replace(",",".");
var decimals_prepare = (num1.indexOf(".") > -1) ? num1.split(".")[1].length : 0;
return (!isNaN(num1) && !isNaN(num2)) ? $("#total").val((num1 * num2).toFixed(decimals_prepare)) : console.log("false");
}
$(function() {
$("#num1, #num2").on("keydown keyup", sum);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="POST" name="form1" action="">
<label>num1</label>
<input name="num1" id="num1" type="text" value="5" />
<label>num2</label>
<input type="text" name="num2" id="num2" value="2" />
<label>total</label>
<input type="text" name="total" style="width: 40%;" id="total" readonly />
<button class="square" name="btn" type="submit" onclick="sum()">SOMEBUTTONNAME</button>
</form>
先检查你的号码是否有效
function sum() {
var value1 = $("#num1").val();
var value2 = $("#num2").val();
if (isNaN(value1) || isNaN(value2){
return;
}
$("#total").val(Number(value1) * Number(value2));
}