1つ目のphpはindex.phpで2つ目はtest.phpです。
index.pgpでtest.phpをインスタンス化して計算結果(足し算)をPタグで表示しています。
そしてボタンが押されたら同じ計算式を利用したいのですが、その方法が分からず
この様なphpを作成しています。
基本的には
index.phpを起動した時とボタンを押した時に同じ外部phpの関数を利用したいのです。
pタグの部分をボタンを押すごとに表示したいのですがクラス化されたphpをajaxで呼び出す方法はあるのでしょうか?
<?php require_once 'test.php'; $MyKeisan = new \Mytest\hyouji(); //実行時に初期値で計算して答えを<p></p>にで戻す $m = $MyKeisan->keisan(1,2); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>テスト</title> </head> <body> <h1 id="saikeisan">テスト計算</h1> <form action=""> 値1:<input type="text" name="a" value="1"> 値2:<input type="text" name="b" value="2"> <input type="button" value="再計算" id="sai"> </form> <!-- 計算結果を<p></p>にて表示↓ --> <?php echo $m; ?> <!-- 計算結果を<p></p>にて表示↑ --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script type="text/javascript"> //ボタンが押されとき $('#sai').on('click',function(){ alert('ok'); $.ajax({ type: "POST", url:'test.php', data: {"action" :"saikeisan"} }) .done(function(data){ alert(data); }) .fail(function(data){ alert('失敗'); }); }); </script> </body> </html> ``` ```php <?phpphp
namespace Mytest;
if (isset($_POST['action'])){
return $this->keisan($_POST['a'],$_POST['b']);
}
class hyouji {
public function keisan($x,$y){
$z = $x + $y;
$result = '<p >答えは:'.$z.'です。</p>';
return $result;
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/14 03:10