アプリ版:「スタンプのみでお礼する」機能のリリースについて

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側で文字列を直接入力すると、アラートは正常に表示されました。

変数で文字列を渡す方法がわからず、半日ほど時間を使ってしまいました。
本当によろしくお願いします。

A 回答 (1件)

文字列を渡すとき、下記ではなく


var bbb = 'abc';

次の様になっているのではないでしょうか?
var bbb = abc;

下の場合Javascriptは変数と認識し、Undefinedになると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます、まさにその通りでした!

「$aaa = 'abc';」を
「$aaa = "'" . 'abc' . "'";」と変更することで無事受け渡すことが出来ました。

本当にありがとうございました。

お礼日時:2013/12/19 16:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!