※ ChatGPTを利用し、要約された質問です(原文:php→JavaScript間の変数受け渡し)
PHP→JavaScript間の変数受け渡し
このQ&Aのポイント
phpで文字列を入れた変数をJS側に渡して、アラートで表示させるために、下記のソースを作成しました。
しかし、上記の記述では正常にアラートが表示されません。
変数で文字列を渡す方法がわからず、半日ほど時間を使ってしまいました。
phpで文字列を入れた変数をJS側に渡して、アラートで表示させるために、下記のソースを作成しました。ボタンを押したらアラートが出ると想定して作成しました。
※フレームワークにcakePHPを使用しています。
------------------------------------------------------------------------
<?php
$aaa = 'abc';
echo '<input type="button" onClick="xxx()">';
?>
function xxx() {
var bbb = <?php echo $aaa ?>;
alert(bbb);
}
------------------------------------------------------------------------
しかし、上記の記述では正常にアラートが表示されません。
そこでいろいろ試してみた結果、
「$aaa = 'abc';」ではなく、
「$aaa = '111';」や「$aaa = 111;」だと正常にアラートが表示されました。
このことから、数字や数値だとうまくいくことがわかりましたが、今回は文字列の受け渡しを行ないたいと考えています。
何かご存知の方がいらっしゃいましたら、アドバイスを頂けると幸いです。
備考
当たり前なのかもしれませんが、
「var bbb = <?php echo $aaa ?>;」ではなく
「var bbb = 'abc';」とjs側で文字列を直接入力すると、アラートは正常に表示されました。
変数で文字列を渡す方法がわからず、半日ほど時間を使ってしまいました。
本当によろしくお願いします。
お礼
ありがとうございます、まさにその通りでした! 「$aaa = 'abc';」を 「$aaa = "'" . 'abc' . "'";」と変更することで無事受け渡すことが出来ました。 本当にありがとうございました。