質問編集履歴
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,26 +1,4 @@
|
|
1
|
-
Javascriptで得た変数をphpに渡したいのですが、これはできないのでしょうか?
|
2
|
-
例えばですが、
|
3
|
-
ABC.js
|
4
|
-
```ここに言語を入力
|
5
|
-
var avg_1 =(a+b+c)/3;
|
6
|
-
```
|
7
|
-
が得られていたとして、
|
8
|
-
DEF.php
|
9
|
-
```ここに言語を入力
|
10
|
-
<?php
|
11
|
-
$AVG = '<script type="text/javascript" src="ABC.js">
|
12
|
-
avg_1 ;
|
13
|
-
</script>'
|
14
|
-
?
|
15
|
-
<?php echo "(".$AVG."/5.00)";?>
|
16
|
-
```
|
17
|
-
|
18
|
-
という塩梅にJavascriptで得られてvar avg_1をphpの$AVGに格納したいという趣旨になります。
|
19
|
-
そもそもJavascriptはクライアントサイドで動く言語であるため、無理ではないかという記事も読んだのですが、どうしても(ライブラリを利用せざるえない都合上)javascript側の変数から引っ張ってくる必要があるのですが、上記のような方法が不可能であれば、一般的にどのようにデータを受け渡すべきがご教示いただけると幸いです。
|
20
|
-
|
21
|
-
初心者で誠に恐縮ですが、よろしくお願い申し上げます。
|
22
|
-
|
23
|
-
|
1
|
+
上記ご指摘をいただきました点を踏まえて、改めて状況と質問をさせていただきます。
|
24
2
|
chart.jsを利用しており、以下のjsを外部ファイル化しております。ここで外部ファイル化しているのは、WPのプラグインの性質上、所与のものであるとお考えください。
|
25
3
|
ABC.js
|
26
4
|
```
|
@@ -48,7 +26,7 @@
|
|
48
26
|
|
49
27
|
|
50
28
|
var data = {
|
51
|
-
labels: ["A", B", "C", "D", "E",],
|
29
|
+
labels: ["A", "B", "C", "D", "E",],
|
52
30
|
datasets: [
|
53
31
|
{label: "総合評価",
|
54
32
|
type:"bar",
|
@@ -126,7 +104,7 @@
|
|
126
104
|
```
|
127
105
|
|
128
106
|
上記のABC.js上で得られたvar PO_5の変数を本体のphpファイルで様々な形で利用したいと考えております。例えば
|
129
|
-
|
107
|
+
DEF.php上
|
130
108
|
```ここに言語を入力
|
131
109
|
<div class="subtitle" style="margin-bottom:20px; float: left; width:380px; align:left";><Font Size="5" style="color:#808080 ;">総合評価</Font>[star rating="<?php echo $AVG;?>" type="rating"] <?php echo "(".$AVG."/5.00)";?></br></div>
|
132
110
|
<!--chart.jsで得られた変数を利用して作成したいタグ、変数を受け渡しできない-->
|
2
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -45,7 +45,6 @@
|
|
45
45
|
}
|
46
46
|
var PO_5= avg1;
|
47
47
|
|
48
|
-
var avg_1 =(a+b+c)/3;
|
49
48
|
|
50
49
|
|
51
50
|
var data = {
|
1
ご指摘を踏まえて加筆いたしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,4 +18,134 @@
|
|
18
18
|
という塩梅にJavascriptで得られてvar avg_1をphpの$AVGに格納したいという趣旨になります。
|
19
19
|
そもそもJavascriptはクライアントサイドで動く言語であるため、無理ではないかという記事も読んだのですが、どうしても(ライブラリを利用せざるえない都合上)javascript側の変数から引っ張ってくる必要があるのですが、上記のような方法が不可能であれば、一般的にどのようにデータを受け渡すべきがご教示いただけると幸いです。
|
20
20
|
|
21
|
-
初心者で誠に恐縮ですが、よろしくお願い申し上げます。
|
21
|
+
初心者で誠に恐縮ですが、よろしくお願い申し上げます。
|
22
|
+
|
23
|
+
以下ご指摘をいただきました点を踏まえて、改めて状況と質問をさせていただきます。
|
24
|
+
chart.jsを利用しており、以下のjsを外部ファイル化しております。ここで外部ファイル化しているのは、WPのプラグインの性質上、所与のものであるとお考えください。
|
25
|
+
ABC.js
|
26
|
+
```
|
27
|
+
function bargraph(){
|
28
|
+
|
29
|
+
|
30
|
+
function floatFormat( number, n ) {
|
31
|
+
var _pow = Math.pow( 10 , n ) ;
|
32
|
+
|
33
|
+
return Math.round( number * _pow ) / _pow ;
|
34
|
+
}
|
35
|
+
|
36
|
+
|
37
|
+
var PO_1=5.0;
|
38
|
+
var PO_2=3.8;
|
39
|
+
var PO_3=floatFormat(78/100*5,1);
|
40
|
+
var PO_4=3.9;
|
41
|
+
|
42
|
+
function avg1()
|
43
|
+
{
|
44
|
+
return floatFormat(( PO_1+ PO_2+ PO_3+ PO_4)/4,1);
|
45
|
+
}
|
46
|
+
var PO_5= avg1;
|
47
|
+
|
48
|
+
var avg_1 =(a+b+c)/3;
|
49
|
+
|
50
|
+
|
51
|
+
var data = {
|
52
|
+
labels: ["A", B", "C", "D", "E",],
|
53
|
+
datasets: [
|
54
|
+
{label: "総合評価",
|
55
|
+
type:"bar",
|
56
|
+
yAxisID: 'y-axis-1',
|
57
|
+
backgroundColor: "rgba(0, 0, 255,0.3)",
|
58
|
+
borderColor: "rgba(0, 0, 255,0.3)",
|
59
|
+
borderWidth: 1,
|
60
|
+
hoverBackgroundColor: "rgba(255,99,132,0.4)",
|
61
|
+
hoverBorderColor: "rgba(255,99,132,1)",
|
62
|
+
data: [PO_1,PO_2, PO_3, PO_4, PO_5],},
|
63
|
+
{ label: "口コミ数",
|
64
|
+
type:"line",
|
65
|
+
tension:0,
|
66
|
+
yAxisID: 'y-axis-2',
|
67
|
+
backgroundColor: "rgb(5, 34, 120)",
|
68
|
+
fill:false,
|
69
|
+
borderColor: "rgb(5, 34, 120)",
|
70
|
+
borderWidth: 1,
|
71
|
+
hoverBackgroundColor: "rgba(255,99,132,0.4)",
|
72
|
+
hoverBorderColor: "rgba(255,99,132,1)",
|
73
|
+
data: [700, 850, 300, 500, 680],}
|
74
|
+
|
75
|
+
|
76
|
+
]};
|
77
|
+
|
78
|
+
|
79
|
+
var options={
|
80
|
+
|
81
|
+
scales: {
|
82
|
+
yAxes: [{
|
83
|
+
position: "left",
|
84
|
+
id: "y-axis-1",
|
85
|
+
ticks: {
|
86
|
+
fontColor:"#000000",
|
87
|
+
stepSize: 1,
|
88
|
+
beginAtZero:true,
|
89
|
+
callback: function(value) {
|
90
|
+
return "⭐️ "+value;}
|
91
|
+
},
|
92
|
+
gridLines:{display:true,
|
93
|
+
color:"rgba(0, 0, 255, 0.3)", },},
|
94
|
+
{
|
95
|
+
position: "right",
|
96
|
+
id: "y-axis-2",
|
97
|
+
|
98
|
+
ticks: {
|
99
|
+
fontColor:"#000000",
|
100
|
+
stepSize: 200,
|
101
|
+
beginAtZero:true,
|
102
|
+
},
|
103
|
+
gridLines:{display:true,
|
104
|
+
color:"rgba(0, 0, 255, 0.3)", },}
|
105
|
+
],
|
106
|
+
xAxes: [{
|
107
|
+
tick:{
|
108
|
+
fontColor:"#808080 ",
|
109
|
+
fontSize:12,
|
110
|
+
},
|
111
|
+
gridLines:{display:true,color:"rgba(255, 255, 255, 0)"},
|
112
|
+
|
113
|
+
}]
|
114
|
+
|
115
|
+
}
|
116
|
+
};
|
117
|
+
|
118
|
+
|
119
|
+
var ctx = document.getElementById("mybar");
|
120
|
+
var myBarChart = new Chart(ctx, {
|
121
|
+
type: 'bar',
|
122
|
+
data: data,
|
123
|
+
options:options,
|
124
|
+
});
|
125
|
+
}
|
126
|
+
|
127
|
+
```
|
128
|
+
|
129
|
+
上記のABC.js上で得られたvar PO_5の変数を本体のphpファイルで様々な形で利用したいと考えております。例えば
|
130
|
+
BCD.php上
|
131
|
+
```ここに言語を入力
|
132
|
+
<div class="subtitle" style="margin-bottom:20px; float: left; width:380px; align:left";><Font Size="5" style="color:#808080 ;">総合評価</Font>[star rating="<?php echo $AVG;?>" type="rating"] <?php echo "(".$AVG."/5.00)";?></br></div>
|
133
|
+
<!--chart.jsで得られた変数を利用して作成したいタグ、変数を受け渡しできない-->
|
134
|
+
|
135
|
+
div style="width:600px; height;200px"><canvas id="mybar" width="600px" height="200px"></canvas></div>
|
136
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.0.1/Chart.bundle.js"></script>
|
137
|
+
<script>
|
138
|
+
bargraph();
|
139
|
+
</script>
|
140
|
+
<!--chart.jsを利用したグラフを作成するタグ-->
|
141
|
+
```
|
142
|
+
*ちなみに[star...のコードはWP上のショートコードになります。
|
143
|
+
|
144
|
+
$AVGにABC.jsのPO_5の変数を渡すことができず、その解決策を探しています。
|
145
|
+
DEF.phpの記載は一部ですが、様々な形でPO_5の変数をDEF.phpで使用したく考えております。
|
146
|
+
|
147
|
+
もちろん先のPHPファイルに変数を宣言して、これを外部jsファイルに受け渡すことができればそれも有効な解決策と考えております。
|
148
|
+
|
149
|
+
このような形での質問であればいかがでしょうか?
|
150
|
+
|
151
|
+
何卒、よろしくお願い申し上げます。
|