お世話になります。閲覧ありがとうございます。
前提・実現したいこと
formの計算式を複数箇所で汎用的に使えるようにしたいです。
A欄(id="textForm1")&B欄(id="textForm2)で1セットの入力欄があり、A欄に1~100の整数を入力してフォーカスを外すとA欄に入力された数値を100から引いた値をB欄に表示させる。
(入力値のバリデーションは、気にしなくて大丈夫です。)
この計算式を
A欄(id="textForm1")&B欄(id="textForm2")
A欄(id="textForm3")&B欄(id="textForm4")
A欄(id="textForm5")&B欄(id="textForm6")…
と増えていった時に、jsに修正を加えなくて済む書き方をしたいです。
発生している問題・エラーメッセージ
下記の様に書いたのですが、薄い知識しかなく、汎用的にする為の記述方法が分かりません。
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <link rel="stylesheet" type="text/css" href="css/style.css"> 7 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 8</head> 9<body> 10<form> 11 <table> 12 <thead> 13 <tr> 14 <th></th> 15 <th>A欄</th> 16 <th>B欄</th> 17 </tr> 18 </thead> 19 <tbody> 20 <tr> 21 <td>計算結果</td> 22 <td> 23 <input type="text" id="textForm1"> 24 </td> 25 <td> 26 <input type="text" id="textForm2" readonly="reradonly" placeholder="100-A"> 27 </td> 28 </tr> 29 </tbody> 30 </table> 31 <table> 32 <thead> 33 <tr> 34 <th></th> 35 <th>A欄</th> 36 <th>B欄</th> 37 </tr> 38 </thead> 39 <tbody> 40 <tr> 41 <td>計算結果</td> 42 <td> 43 <input type="text" id="textForm3"> 44 </td> 45 <td> 46 <input type="text" id="textForm4" readonly="reradonly" placeholder="100-A"> 47 </td> 48 </tr> 49 </tbody> 50 </table> 51 <script type="text/javascript" src="js/sample.js"></script> 52</form> 53</body> 54</html>
js
1$('input').blur(function(){ 2 if((this.value !='')&&(this.value <= 100)){ 3 4 //入力フォームの値を取得 5 var answer = document.getElementById("textForm1").value; 6 7 //100から入力値を引く 8 var sum = 100 - parseInt(answer,10); 9 10 var resultForm = document.getElementById("textForm2"); 11 resultForm.value = sum; 12 13 } 14});
どなたかご教示いただけますと幸いです。
どうぞよろしくお願いいたしますmm
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/24 11:18
2018/04/24 20:37