- ベストアンサー
PHP内にJavaScript
- PHP内にJavaScriptを動かす方法について教えてください。
- 要約文2
- 要約文3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
既存のプログラムが、echo '<html>...</head>'; のように書いてあり、 そこは変えられないってことですかね。。。 <head>内に記入するなら下記のような感じになりますか。 ==================================================== <?php echo ' <html> <head> <script language="JavaScript"> var key = "freekeyword"; var n = 0; var cookies = document.cookie.split("; "); for(var i=0;i<cookies.length;i++){ var str = cookies[i].split("="); if(str[0] == key){ // n = str[1]; } } window.onload = function() { if(n == 0){ document.getElementById(\'welcome\').innerHTML = \'ようこそ!\'; } n++; setCookie(key,n); } function setCookie(key,val){ document.cookie = key + "=" + escape(val) + "; "; } </script> </head>'; echo ' <body> <div id="welcome"></div> </body></html>'; ?> ==================================================== echo の対象となる文字列をシングルクオートで括って示していますので、 JavaScript内のシングルクオートは \ を直前に書いてエスケープしています。 document.getElementById(\'welcome\').innerHTML = \'ようこそ!\'; http://php.net/manual/ja/language.types.string.php
その他の回答 (1)
- nda23
- ベストアンサー率54% (777/1415)
固定したものならPHPで書かなくてもよいのです。 <HTML> <SCRIPT LANGUAGE="JavaScript"> ~ </SCRIPT> <BODY> <!-- ここからPHPで記述する部分 --> <?php echo '今日は' . $xx ?> <!-- ここから固定の部分 --> <LABEL>固定語句</LABEL> <INPUT TYPE="BUTTON" VALUE="???" ONCLICK="~ サーバ側のデータや処理結果を出力する所だけ PHPタグに入れ、固定部分は普通のHTMLとして 記述できます。タグ全部をechoやprintで書き出し ても結果は同じですけど、意味あることか疑問 ですね。そもそも掲題の話だけならPHPを使う 理由が無いのでは?
お礼
回答ありがとうございます ご指摘の通り掲題の話だけならPHPを使う理由が無いのですが 今回の質問にあたってはすでにあるPHPで書かれたプログラム の中に埋め込みたく質問いたしました。 http://www.simplemachines.org/
お礼
詳しい回答有難うございます。 document.getElementById('welcome').innerHTML = 'ようこそ!';の部分で エラー表示されていたのはそうゆう事だったんですね、勉強になりました。 test.phpを作成して動作確認をした所うまく動作しましたがプログラム内に 設置するとうまく動作しませんでした? 他に原因らしいものがあればアドバイス願います。 JavaScriptは<head>~</head>の<title>の直下に設置しました