私はレポートを作成しています。グラフの結果を内部に入れる必要があります。JavascriptからPHPにChartjsをフォームで保存する
私はJavascript(クライアント)とPHP(サーバー)の問題について知っていますが、これを修正する必要があります。
主な問題:グラフをpngファイルとして保存してレポートを作成する必要があります。
私はここで約100の質問を読んでいますが、解決策を見つけることはできませんでした。
グラフを生成するには、ChartJSを使用しています。
私は3つのファイルを作成しましたが、何が間違っているか分かりません。私の例をテストする
PHP(exemplo4.php)
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Graph Chartjs Export</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
<style>
.myForm { text-align:center; }
</style>
</head>
<body>
<?php
$example = "let's go";
$_SESSION['example'] = $example;
?>
<form id="myForm" method=POST action="graphresult4.php" >
Value1:
<input type="text" name="value1" value="123" /> <br><br>
Graphic: <br>
<input type="hidden" name="imageData" id="imageData" /> <br>
<canvas id="drawing" width="350" height="200"></canvas> <br>
<input type="submit" value="submit">
</form>
<script type="application/javascript" src="graphic4.js"></script>
</body>
</html>
はJavascriptを
var ctx = document.getElementById("drawing").getContext("2d");
var data = {
labels: ['Jan', 'Feb', 'Mar'],
datasets: [{
label: "# of votes",
fillColor: "#07C",
data: [50, 80, 200]
}]
};
var myBarChart = new Chart(ctx).Bar(data, {
scaleOverride: true,
scaleSteps: 10, // number of ticks
scaleStepWidth: 10, // tick interval
scaleBeginAtZero: true
});
$('#myForm').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
$('#myForm').val('imageData') = "2";
//var imgData = ctx.toDataURL("image/png");
document.getElementById('imageData').value="test";
alert('Here');
});
PHP(graphresult4.php)
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Graph Chartjs Export</title>
</head>
<body>
<?php
$example = $_SESSION['example'];
echo '<b>PHP Variable: </b> [example] => '.$example.'<br><br>';
echo '<b>POST Variables</b><br>';
print_r($_POST);
?>
<br>
<br>
<b>Script</b>
<p> imageData =
<script>
document.writeln(imageData);
</script>
</p>
</body>
</html>
私がここにパット:
をhttp://profwtelles.ddns.net/teste/phpjava/exemplo4.php
私の問題は、変数imageDataは毎回空白で、javascript内の関数は実行中ではありません。変更$( '#のあるmyForm')のval( '画像データ')= "2"
:。
私はラインを除去
graphresult4.phpで定義し、 $画像データ= $ _POST [」 imageData '];
document.writeln( '[php] echo $ imageData; [/ php]');
結果:
PHP Variable: [example] => let's go
POST Variables
Array ([value1] => 123 [imageData] =>)
Script
imageData = [ php] echo $imageData; [/php]
画像データは再び空になります。
$( '#のあるmyForm')を助けヴァル( '画像データ')= "2"。この行は何ですか? – seravee
すべてが変更されたかどうかを確認するためのテストを行いました –