質問編集履歴
3
LocalStorageによる二重投票防止部分を省略しました
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -88,46 +88,8 @@
|
|
|
88
88
|
</div>
|
|
89
89
|
|
|
90
90
|
</body>
|
|
91
|
-
|
|
91
|
+
<script>
|
|
92
|
-
$(function(){
|
|
93
|
-
$('.question-btn').click(function(){
|
|
94
|
-
var isVote = getLocalStorage();
|
|
95
|
-
console.log(isVote);
|
|
96
|
-
if(isVote != null){
|
|
97
|
-
alert('すでに投票済みです。');
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
var form1 = document.forms['question-form'];
|
|
102
|
-
var ans = $(this).val();
|
|
103
|
-
$('#hidden-btn').val(ans);
|
|
104
|
-
form1.submit();
|
|
105
|
-
|
|
106
|
-
setLocalStorage();
|
|
107
|
-
return false;
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
drawChart();
|
|
111
|
-
})
|
|
112
|
-
|
|
113
|
-
※省略
|
|
92
|
+
※以下省略
|
|
114
|
-
|
|
115
|
-
var getLocalStorage = function(){
|
|
116
|
-
return JSON.parse(localStorage.getItem('isVote'));
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
var setLocalStorage = function(){
|
|
120
|
-
var isVote = JSON.stringify('voted');
|
|
121
|
-
localStorage.setItem('isVote', isVote);
|
|
122
|
-
alert('投票しました。');
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
var deleteLocalStorage = function(){
|
|
126
|
-
localStorage.removeItem('isVote');
|
|
127
|
-
alert('ストレージ(isVote)を削除しました。');
|
|
128
|
-
}
|
|
129
|
-
</script>
|
|
130
|
-
</html>
|
|
131
93
|
```
|
|
132
94
|
|
|
133
95
|
### 試したこと
|
2
結果表示の部分を省略しました
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -74,8 +74,6 @@
|
|
|
74
74
|
?>
|
|
75
75
|
<!DOCTYPE html>
|
|
76
76
|
<html lang="ja">
|
|
77
|
-
<head>
|
|
78
|
-
</head>
|
|
79
77
|
<body>
|
|
80
78
|
<button class="question-btn" value="1">賛成</button>
|
|
81
79
|
<button class="question-btn" value="2">反対</button>
|
1
何か所か省略しました
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -75,11 +75,6 @@
|
|
|
75
75
|
<!DOCTYPE html>
|
|
76
76
|
<html lang="ja">
|
|
77
77
|
<head>
|
|
78
|
-
<meta charset="utf-8">
|
|
79
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
80
|
-
<title></title>
|
|
81
|
-
<script src="../js/jquery-3.4.1.min.js"></script>
|
|
82
|
-
<script src="//cdn.jsdelivr.net/npm/chart.js@2.8.0/dist/Chart.min.js"></script>
|
|
83
78
|
</head>
|
|
84
79
|
<body>
|
|
85
80
|
<button class="question-btn" value="1">賛成</button>
|
|
@@ -117,42 +112,8 @@
|
|
|
117
112
|
drawChart();
|
|
118
113
|
})
|
|
119
114
|
|
|
120
|
-
|
|
115
|
+
※省略
|
|
121
|
-
var array = <?php echo json_encode($data, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT); ?>;
|
|
122
116
|
|
|
123
|
-
var matchNum = 0;
|
|
124
|
-
for(var i = 0; i < array.length; i++){
|
|
125
|
-
if(array[i] === 0){
|
|
126
|
-
matchNum++;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
if(array.length === matchNum ){
|
|
131
|
-
$('#myChart').hide();
|
|
132
|
-
$('#noChart').show();
|
|
133
|
-
} else {
|
|
134
|
-
$('#myChart').show();
|
|
135
|
-
$('#noChart').hide();
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
var ctx = document.getElementById("myChart").getContext('2d');
|
|
139
|
-
var myChart = new Chart(ctx, {
|
|
140
|
-
type: 'pie',
|
|
141
|
-
data: {
|
|
142
|
-
labels: ["賛成", "反対", "どちらともいえない"],
|
|
143
|
-
datasets: [{
|
|
144
|
-
label: 'アンケート',
|
|
145
|
-
data: array,
|
|
146
|
-
backgroundColor: [
|
|
147
|
-
'rgba(255, 99, 132, 0.7)',
|
|
148
|
-
'rgba(54, 162, 235, 0.7)',
|
|
149
|
-
'rgba(255, 206, 86, 0.7)',
|
|
150
|
-
],
|
|
151
|
-
}]
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
|
|
156
117
|
var getLocalStorage = function(){
|
|
157
118
|
return JSON.parse(localStorage.getItem('isVote'));
|
|
158
119
|
}
|