入力値が全て数値かチェックし、誤りがあればメッセージを表示
要約:数値のチェックは、入力値の桁数を取得し桁数分をループして0-9の値かチェック。
1 2 3 4 5 6 |
<form name="form">単価<input type="text" id="tanka" size="4">×数量<input type="text" id="suryo" size="4">= <input type="text" id="kingaku" size="4"><br> <br> <input type="button" value="計算" onClick="test()"> <input type="reset" value="リセット"> </form> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
// JavaScript 表記 <script type="text/javascript"> <!-- function test() { var err_tanka = 0; var err_suryo = 0; if (document.getElementById("tanka").value == "") { alert("単価にデータがありません。"); return; } if (document.getElementById("suryo").value == "") { alert("数量にデータがありません。"); return; } txt = document.getElementById("tanka").value; for (i=0; i<=txt.length-1; i++) { char = txt.charAt(i); if (char < "0" || char > "9") { err_tanka=err_tanka+1; } } txt = document.getElementById("suryo").value; if (txt == null) { alert("数量にデータがありません。"); return; } for (i=0; i<=txt.length-1; i++) { char = txt.charAt(i); if (char < "0" || char > "9") { err_suryo=err_suryo+1; } } if (err_tanka > 0) { alert("単価に数値以外のデータがあります。"); } if (err_suryo > 0) { alert("数量に数値以外のデータがあります。"); } if (err_tanka == 0 && err_suryo == 0) { atai1 = parseInt(document.getElementById("tanka").value); atai2 = parseInt(document.getElementById("suryo").value); keisanti = atai1*atai2; document.getElementById("kingaku").value = keisanti; } } //--> </script> |