質問編集履歴

3

LocalStorageによる二重投票防止部分を省略しました

2019/07/29 06:31

投稿

tommmy.h
tommmy.h

スコア7

test CHANGED
File without changes
test CHANGED
@@ -178,85 +178,9 @@
178
178
 
179
179
  </body>
180
180
 
181
- <script>
181
+ <script>
182
-
183
- $(function(){
182
+
184
-
185
- $('.question-btn').click(function(){
186
-
187
- var isVote = getLocalStorage();
188
-
189
- console.log(isVote);
190
-
191
- if(isVote != null){
192
-
193
- alert('すでに投票済みです。');
194
-
195
- return;
196
-
197
- }
198
-
199
-
200
-
201
- var form1 = document.forms['question-form'];
202
-
203
- var ans = $(this).val();
204
-
205
- $('#hidden-btn').val(ans);
206
-
207
- form1.submit();
208
-
209
-
210
-
211
- setLocalStorage();
212
-
213
- return false;
214
-
215
- });
216
-
217
-
218
-
219
- drawChart();
220
-
221
- })
222
-
223
-
224
-
225
- ※省略
183
+ 以下省略
226
-
227
-
228
-
229
- var getLocalStorage = function(){
230
-
231
- return JSON.parse(localStorage.getItem('isVote'));
232
-
233
- }
234
-
235
-
236
-
237
- var setLocalStorage = function(){
238
-
239
- var isVote = JSON.stringify('voted');
240
-
241
- localStorage.setItem('isVote', isVote);
242
-
243
- alert('投票しました。');
244
-
245
- }
246
-
247
-
248
-
249
- var deleteLocalStorage = function(){
250
-
251
- localStorage.removeItem('isVote');
252
-
253
- alert('ストレージ(isVote)を削除しました。');
254
-
255
- }
256
-
257
- </script>
258
-
259
- </html>
260
184
 
261
185
  ```
262
186
 

2

結果表示の部分を省略しました

2019/07/29 06:31

投稿

tommmy.h
tommmy.h

スコア7

test CHANGED
File without changes
test CHANGED
@@ -150,10 +150,6 @@
150
150
 
151
151
  <html lang="ja">
152
152
 
153
- <head>
154
-
155
- </head>
156
-
157
153
  <body>
158
154
 
159
155
  <button class="question-btn" value="1">賛成</button>

1

何か所か省略しました

2019/07/29 05:39

投稿

tommmy.h
tommmy.h

スコア7

test CHANGED
File without changes
test CHANGED
@@ -152,16 +152,6 @@
152
152
 
153
153
  <head>
154
154
 
155
- <meta charset="utf-8">
156
-
157
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
158
-
159
- <title></title>
160
-
161
- <script src="../js/jquery-3.4.1.min.js"></script>
162
-
163
- <script src="//cdn.jsdelivr.net/npm/chart.js@2.8.0/dist/Chart.min.js"></script>
164
-
165
155
  </head>
166
156
 
167
157
  <body>
@@ -236,106 +226,38 @@
236
226
 
237
227
 
238
228
 
229
+ ※省略
230
+
231
+
232
+
239
- var drawChart = function(){
233
+ var getLocalStorage = function(){
240
-
241
- var array = <?php echo json_encode($data, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT); ?>;
234
+
242
-
243
-
244
-
245
- var matchNum = 0;
246
-
247
- for(var i = 0; i < array.length; i++){
248
-
249
- if(array[i] === 0){
250
-
251
- matchNum++;
252
-
253
- }
254
-
255
- }
256
-
257
-
258
-
259
- if(array.length === matchNum ){
260
-
261
- $('#myChart').hide();
262
-
263
- $('#noChart').show();
264
-
265
- } else {
266
-
267
- $('#myChart').show();
268
-
269
- $('#noChart').hide();
270
-
271
- }
272
-
273
-
274
-
275
- var ctx = document.getElementById("myChart").getContext('2d');
235
+ return JSON.parse(localStorage.getItem('isVote'));
276
-
277
- var myChart = new Chart(ctx, {
278
-
279
- type: 'pie',
280
-
281
- data: {
282
-
283
- labels: ["賛成", "反対", "どちらともいえない"],
284
-
285
- datasets: [{
286
-
287
- label: 'アンケート',
288
-
289
- data: array,
290
-
291
- backgroundColor: [
292
-
293
- 'rgba(255, 99, 132, 0.7)',
294
-
295
- 'rgba(54, 162, 235, 0.7)',
296
-
297
- 'rgba(255, 206, 86, 0.7)',
298
-
299
- ],
300
-
301
- }]
302
-
303
- }
304
-
305
- });
306
236
 
307
237
  }
308
238
 
309
239
 
310
240
 
311
- var getLocalStorage = function(){
241
+ var setLocalStorage = function(){
242
+
312
-
243
+ var isVote = JSON.stringify('voted');
244
+
313
- return JSON.parse(localStorage.getItem('isVote'));
245
+ localStorage.setItem('isVote', isVote);
246
+
247
+ alert('投票しました。');
314
248
 
315
249
  }
316
250
 
317
251
 
318
252
 
319
- var setLocalStorage = function(){
253
+ var deleteLocalStorage = function(){
320
-
321
- var isVote = JSON.stringify('voted');
254
+
322
-
323
- localStorage.setItem('isVote', isVote);
255
+ localStorage.removeItem('isVote');
324
-
256
+
325
- alert('投票しました。');
257
+ alert('ストレージ(isVote)を削除しました。');
326
258
 
327
259
  }
328
260
 
329
-
330
-
331
- var deleteLocalStorage = function(){
332
-
333
- localStorage.removeItem('isVote');
334
-
335
- alert('ストレージ(isVote)を削除しました。');
336
-
337
- }
338
-
339
261
  </script>
340
262
 
341
263
  </html>