HTMLの画面で計算がしたい
坪を平方メートルに変換する計算をしたいのですが、上手くできません。
構造上formの中にformを入れていますが、それも影響しますか?
HTML
1<form> 2. 3. 4. 5. 6 <form name="culc"> 7 <input type="text" name="data1">坪 8 <input type="button" value="変換" onclick="culculate()"> 9 → 約<input type="text" name="data3"> 10 </form> 11. 12. 13 </form>
JS
1function culculate() { 2 with (document.culc) { 3 var d1 = data1.value; 4 var d2 = 3.3057; 5 data3.value = eval(d1) * eval(d2); 6 } 7}
↓エラー画面
HTML
1Uncaught TypeError: Cannot convert undefined or null to object 2 at culculate (common.js:211) 3 at HTMLInputElement.onclick (mk_contract_form.php:132) 4culculate @ common.js:211 5onclick @ mk_contract_form.php:132
エラー該当部分 [common.js:211]
js
1with (document.culc) {
# 試したこと
js
1function culculate() { 2document.culc.data3.value = eval(document.culd.A.value) * eval(3.3057); 3}
よろしくお願いします。
# 追記
このような形で書いて実現できました。
HTML
1<input type="text" id="textForm"> 2<label for="textForm">坪</label> 3<button id="cluc" class="btn btn-outline-primary">変換</button> 4 5<input type="text" id="resultForm"> 6<label for="resultForm">㎡</label>
js
1<script> 2 var button = document.getElementById("cluc"); 3 button.addEventListener("click", function(e) { 4 5 e.preventDefault(); 6 7 var textForm = document.getElementById("textForm").value; 8 9 var resultForm = document.getElementById("resultForm"); 10 // resultForm.value = textForm * 3.30578; 11 resultForm.value = Math.round(textForm * 3.30578512396 * 100) / 100; 12 }); 13 </script>
回答1件
あなたの回答
tips
プレビュー