私はユーザーにいくつかのフィールドを入力させたいフォームを用意しており、フォームは目標の合計とパーセンテージを計算します。私はJavaScriptが初めてのので、パーセンテージを計算する方法はわかりません。私はparseInt(total)/parseInt(goal)*100
をしようとすると、私はNaNにエラーが出ます:JavaScriptでパーセンテージを計算する
<html>
<head>
<style media="screen">
.testform INPUT {
display: block;
margin-bottom: 10px;
border: 1px solid #212121;
height: 35px;
font-size: 16px;
}
</style>
<script type="text/javascript">
calculate = function() {
var cash = document.getElementById('a1').value;
var checks = document.getElementById('a2').value;
var coin = document.getElementById('a3').value;
var goal = document.getElementById('goalamount').value;
var total = document.getElementById('a4').value;
document.getElementById('a4').value = parseInt(cash)+parseInt(checks)+parseInt(coin);
document.getElementById('a5').value = parseInt(total)+parseInt(goal);
}
</script>
</head>
<body>
<form class="testform">
Goal amount <input id="goalamount" type="text" value="3000"/>
Cash Collected <input id="a1" type="text" />
Checks Collected <input id="a2" type="text" />
Coins Collected <input id="a3" type="text" />
Total Collected <input id="a4" type="text" name="total_amt" onblur="calculate()" />
Percent of Goal<input id="a5" type="text" name="goal_amt" />
</form>
</body>
</html>
ジャワ= JavaScriptの – shmosel
あなた 'total_amt'と' goal_amt'入力フィールドが変更 'タイプに=! "text"を 'type =" number "'に変更します。これにより、これらのフィールドに数字だけが入力されます。 –
どの時点でパーセンテージを計算しようとしていますか?あなたのコードに 'parseInt(total)/ parseInt(goal)* 100'をどこに入れますか?私が推測するのは、ある時点でparseInt( "")を試しているために、NaNを取得しているということです。これは、あなたが言及した入力のいずれかに値がないか、数値ではないことを示します。 –