• 締切済み

php内でjsを実行させたい

いつもお世話になっております。 今回、下記の事を実行しようと思って苦戦してます。 (1)DBのレコードが0の場合にelseの処理を実行 (2)else内でエラー文が入っている変数を確認する→これは単純に一文があるかを目で確認 (3)上記の変数を外部ファイルのjs側に変数を渡す (4)空でない変数かを条件分岐で確認してアラートを発生させる 悩んでいる部分は(3)の部分で中々見つからないのでどなたか教えて頂けますでしょうか。 if(省略) { (省略) } else { $title = "タイトルが未記入のままのようなままなので登録してください"; ★外部ファイルのjsを実行させる }

みんなの回答

  • tracer
  • ベストアンサー率41% (255/621)
回答No.4

#1です。 予想した回答と違ったので少し戸惑いましたが、たくさんある候補の中からもっとも単純な提案をします。 おそらくそのPHPは、最終的にhtmlを出力しているものと思われます。 そのhtml出力時に、javascriptでグローバル変数として扱えば、外部javascriptでも参照できます。 main.php ------ <?php // php側でflgを設定(たとえばDBの結果など) $flg = true; ?> <!DOCTYPE html> <html> <head> <script> var flg = <?php print $flg ?>; </script> <script src="example.js"> </head> <body> </body> </html> example.js ----------- alert(flg); 実際は、グローバル変数は取扱いが煩雑になるので、あまり使われることはないと思いますが、そちらのファイル構成などが分かりませんので、ひとまずの一案として提案します。

すると、全ての回答が全文表示されます。
  • tracer
  • ベストアンサー率41% (255/621)
回答No.3

#1です。 質問に対して質問を返して申し訳なく思います。 ただ、前提を整えないと前に進まない状況だということをご理解ください。 私が差し上げた質問は次の3択です。 1. phpからjavascriptを出力する法がわからない 2. javascriptの書き方そのものがわからない 3. そのどちらもわからない まず、この3択以外の選択肢はないことをご理解ください。この3択に答えられないということは、つまり、「何がわからないのかわからない・説明できない状態」です。なぜなら、#2さんも回答されていますが、『★外部ファイルのjsを実行させる(PHP内からjavascriptのファイルを実行させる)』ということは、そもそもできないからです。 よく知られるように、webページは主に、html/css/javascriptで構成されます。その上でphpが何を担っているのかというと、動的にhtml/css/javascriptを出力するということです。つまり、phpを使って、結果としてhtml/css/javascriptを出力しているわけです。もう少し具体的に言うなら、質問内容の目的を達成するには、「phpを使ってjavascriptを出力する」以外にないということになります。その上で私が投げた3択について考えてみてください。

sato965
質問者

補足

ご回答ありがとうございます。 お手数おかけして大変申し訳ございません。 選択肢だと『1. phpからjavascriptを出力する方法がわからない』のみです。 2と3さんは当てはまらないので。

すると、全ての回答が全文表示されます。
回答No.2

PHPはサーバー側で実行されますが、JavaScriptはブラウザ側で実行なので PHPから直接JavaScriptの実行を呼び出すことはできませんので ブラウザ側でのなにがしかのイベント使って それをキックにして特定のJavaScriptを実行することになります。 (1) PHPで、JavaScriptを生成し、これを HTMLの一部としてブラウザに送る  (PHP側での条件分岐でJavaScirptの内容を可変にする) (2) ブラウザにHTMLが送られ終わったときに、(1)のJavaScriptを実行するように HTML内でイベント定義を行っておく。 ということになります。 (1)の方法は 既に解決されたということですので、 (2)に関しては 、 window.onload = function() { (1)の内容(つまり 変数定義やalertの実行) }; というJavaScriptを生成するPHPを作れば、よいでしょう。

すると、全ての回答が全文表示されます。
  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

phpからjavascriptを出力する法がわからないのか、javascriptの書き方そのものがわからないのか、どちらでしょうか。それともどちらもでしょうか。やりたいことを設定した後は、それを達成するための課題を明確に設定してみてください。逆に言えば、それが明確でないと人に理解してもらうのは困難でしょう。いわゆる「何がわからないのかわからない・説明できない」状態になっているのではないでしょうか。

sato965
質問者

補足

ご回答ありがとうございます。 個人的には説明をしたと認識しておりましたが、申し訳ありません。 PHPの変数の中身をjavascriptの変数に格納するプログラムは書き終わりました。 ただ肝心の『★外部ファイルのjsを実行させる(PHP内からjavascriptのファイルを実行させる)』の一文が分からず、処理を実行できておりません。 お手数ですが、ご回答頂けると幸いでございます。

すると、全ての回答が全文表示されます。

関連するQ&A