回答編集履歴

1

javascript修正

2015/08/21 06:29

投稿

S_Minecraft
S_Minecraft

スコア29

test CHANGED
@@ -51,3 +51,195 @@
51
51
  ```
52
52
 
53
53
  たぶん、こんな感じでいけるかなと
54
+
55
+
56
+
57
+ -----------------------------------
58
+
59
+ 修正
60
+
61
+ ```html
62
+
63
+ <html>
64
+
65
+ <head>
66
+
67
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
68
+
69
+ <script type="text/javascript">
70
+
71
+ <!--
72
+
73
+ $(function(){
74
+
75
+ var total = $("form").find("input[type=\"tel\"],input[type=\"text\"], select").length; //入力フォームの合計の数
76
+
77
+ $(".total").html(total);
78
+
79
+
80
+
81
+ var i = 0;
82
+
83
+ $(".number").html(total - i);
84
+
85
+ var check = function() {
86
+
87
+ i = 0;
88
+
89
+ $("form").find("select").each(function() {
90
+
91
+ if($(this).val() !== "") {
92
+
93
+ i++;
94
+
95
+ }
96
+
97
+ });
98
+
99
+ $("form").find("input[type=\"tel\"],input[type=\"text\"]").each(function() {
100
+
101
+ if($(this).val() !== "") {
102
+
103
+ i++;
104
+
105
+ }
106
+
107
+ });
108
+
109
+ $(".number").html(total - i);
110
+
111
+ };
112
+
113
+
114
+
115
+ $("form").find("select, input[type=\"option\"]").change(function() {
116
+
117
+ check();
118
+
119
+ });
120
+
121
+ $("form").find("input[type=\"tel\"],input[type=\"text\"]").keyup(function() {
122
+
123
+ check();
124
+
125
+ });
126
+
127
+ });
128
+
129
+ -->
130
+
131
+ </script>
132
+
133
+ </head>
134
+
135
+ <body>
136
+
137
+ <form name=hoge method=GET action=hogehoge>
138
+
139
+
140
+
141
+ <p>ニックネーム</p>
142
+
143
+ <input class="name" type="text" id="name" name="name" value="" >
144
+
145
+
146
+
147
+ <p>都道府県</p>
148
+
149
+ <select name="area" class="area">
150
+
151
+ <option value="">選択</option>
152
+
153
+ <option value="北海道">北海道</option>
154
+
155
+ <option value="青森県">青森県</option>
156
+
157
+ <option value="秋田県">秋田県</option>
158
+
159
+ <option value="岩手県">岩手県</option>
160
+
161
+ <option value="山形県">山形県</option>
162
+
163
+ <option value="宮城県">宮城県</option>
164
+
165
+ <option value="福島県">福島県</option>
166
+
167
+ <option value="茨城県">茨城県</option>
168
+
169
+ </select>
170
+
171
+
172
+
173
+ <p>年齢</p>
174
+
175
+ <select name="age" id="age" class="age">
176
+
177
+ <option value="">選択</option>
178
+
179
+ <option value="1">20代</option>
180
+
181
+ <option value="2">30代</option>
182
+
183
+ <option value="3">40代</option>
184
+
185
+ <option value="4">50代</option>
186
+
187
+ <option value="5">60代</option>
188
+
189
+ </select>
190
+
191
+
192
+
193
+ <p>■電話番号</p>
194
+
195
+ <input type="tel" name="tel" style="ime-mode: disabled;" Value="" class="tel">
196
+
197
+
198
+
199
+ <p>暗証番号</p>
200
+
201
+ <input type="tel" name="pass" style="ime-mode: disabled;" Value="" class="pass">
202
+
203
+ <span>※数字4桁</span>
204
+
205
+
206
+
207
+ <p>オプション</p>
208
+
209
+ <label for="q1">
210
+
211
+ <div>
212
+
213
+ <input class="option" type="checkbox" id="q1" name="q1" checked>
214
+
215
+ オプション1</div>
216
+
217
+ </label>
218
+
219
+ <label for="q2">
220
+
221
+ <div>
222
+
223
+ <input class="option" type="checkbox" id="q2" name="q2" checked>
224
+
225
+ オプション2</div>
226
+
227
+ </label>
228
+
229
+ <label for="q3">
230
+
231
+ <div>
232
+
233
+ <input class="option" type="checkbox" id="q3" name="q3" checked>
234
+
235
+ オプション3</div>
236
+
237
+ </label>
238
+
239
+ </form>
240
+
241
+ <p class="message">残りの入力項目は<span class="number"></span> / <span class="total"></span>です。</p>
242
+
243
+ </body>
244
+
245
+ ```