• ベストアンサー

なにもイベントがないところでJavaScriptを動かしたい

初心者の為、ご教授願います。 Pl./SQLで開発を行っております。 その中で、OnLoad時にJavaScriptを起動させているのですが、 そのプログラムの中で別にJavaScriptを起動させたいのです。 何をやりたいかと言うと、チェックをかけてエラーだったら、 JavaScriptのようなダイアログを出力したいのです。 イベントは発生しないので、どのようにメッセージを出せば良いのか 分かりません。Web上では表示したくないのです。 どうか、お力添えを宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.8

No.4 です。 > そのJavaScriptへイベントonLoad後の処理でどうアクセスすれば良いのか分かりません。 それが質問の目的だったりしますか? 相手が Internet Application Server では無く、一般的なWebサーバーだったとしましょう。 CGI等のサーバーサイド処理を自分で書けるサーバーです。 JavaScript の onLoad処理の中でWebサーバーにアクセスするためには、Ajaxを使用して HTTP でアクセスします。 多くの場合、それに加えてサーバー側にも、「Ajaxからのアクセスに応答する処理」を置いておきます。 これはCGI等でサーバーサイド処理を書きます。 # 使いこなすのは、JavaScript入門者にはちょっとホネかと。 しかしながら、onLoad処理中でそんな事が本当に必要かというのを疑問に思います。 onLoad処理中でできる「データベースにアクセスして入力チェックする」は、その直前にサーバーが行った HTML出力処理中でできる場合がほとんどです。 材料は揃っているのですから。 チェック結果をJavaScript変数として送出する HTML に含めておけば、JavaScriptの onLoad処理ではサーバーにアクセスする事無くエラー有無の判定とダイアログ表示ができます。 この話が Internet Application Server 相手にどこまで通用するかは私には判りません。 Oracleカテゴリで質問されたらどうでしょう?

Mark0817
質問者

お礼

お礼をつけるところを間違えていました。 回答ありがとうございます。 かなりの難題ですね。 仕様を見直してもらうことにした方が良いようですね。

Mark0817
質問者

補足

回答ありがとうございます。 かなりの難題ですね。 仕様を見直してもらうことにした方が良いようですね。

その他の回答 (7)

回答No.7

開発環境も処理の流れについてもイマイチ伝わってこない。 >Pl./SQLで開発を行っております。 Webアプリケーションですよね? PL/SQL Server Pagesのこと? >何をやりたいかと言うと、チェックをかけてエラーだったら、 >JavaScriptのようなダイアログを出力したいのです。 いったい何のチェック?入力値とか? そもそも全体の処理の流れとしてはどうしたいの?

Mark0817
質問者

お礼

すみません。 開発環境は、iAS Oracle9iです。 Webアプリケーションです。 処理中にDBにアクセスし、取ってきた値のチェックです。

  • sh_hirose
  • ベストアンサー率66% (56/84)
回答No.6

まずOracleにアクセスしてチェックするのはどこで行うのですか? 次にチェックした後、チェック結果(エラーあり、なし)は返されるのですか?

Mark0817
質問者

お礼

onLoadされた後、Webを表示した後です。 チェック結果は返されます。

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.5

Internet Application Server の件は一旦置いておいて、最初のご質問に戻りましょう。 > onLoadして、その後PL/SQLが動き、その中でチェックし、ダイアログを出したいのですが、onLoadで実現可能なのでしょうか? これは、以下の意味ですか? onLoad 処理は、自分で書く事ができます。 そのonLoad 処理の中からInternet Application Server にアクセスするにはどうすれば良いですか? Internet Application Server にアクセスさえできれば、チェック処理を書いて必要なダイアログを表示させる事ができるのですが。

Mark0817
質問者

お礼

回答ありがとうございます。 Internet Application Serverにアクセスするのは、PL/SQLで可能ですが、ダイアログを出すことはできません。 ダイアログをだすのは、あくまでもJavaScriptで出します。 そのJavaScriptへイベントonLoad後の処理でどうアクセスすれば良いのか分かりません。

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.4

> いや、Oracleのプロシージャ言語です。 それは失礼しました。 でも、JavaScript から Oracle に直接アクセスする訳じゃ無いんでしょう? CGIか何かのサーバーサイド処理があって、そいつが Oracle にアクセスするんじゃ無いんですか? ならば、No.3 で私が書いた内容は有効なはずです。 どう思われますか? Oracleを知らない人間には、回答が無理な内容ですか?

Mark0817
質問者

お礼

回答ありがとうございます。 OracleはInternet Application ServerというOracle製品を使ってWebをOracleで 直接書いているイメージです。 なので、CGIは使っていません。

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.3

No.1 です。 > onLoadして、その後PL/SQLが動き、 PL/SQL と言うのは、Perl CGI ですよね? JavaScript の onLoad 処理が起動するのは、ブラウザが HTML の入力を完了した後で、CGIはすでに動作を完了しているのが普通です。 だから、私が質問を誤解してるので無ければ、「onLoadして、その後PL/SQLが動き、」は誤りな訳です。 つまり、CGIは、onLoad処理が必要とするデータを全て HTML中に含める事ができます。 HTMLの最後に方になる場合も多いでしょうが、それを読んだ後で起動されるのが onLoad の onLoad たるところです。 それとも、onLoad 処理の中で新たな SQLアクセスを行いたいのでしょうか? 尋常な仕様では必要無さそうに思いますが。

Mark0817
質問者

お礼

回答ありがとうございます。 >PL/SQL と言うのは、Perl CGI ですよね? いや、Oracleのプロシージャ言語です。 やはり、別画面を起動しそのonLoadでチェック処理をしないとダメですかね~?

  • Lchan0211
  • ベストアンサー率64% (239/371)
回答No.2

「チェックをかけてエラーだったら、JavaScriptのようなダイアログを出力したいのです。」 とのことですが、問題は、そのチェックをいつどのような契機で実施するつもりかです。 それを定義しないとアドバイスしようがありません。 例えば、ある一定時刻とか、一定時間間隔でチェックしたいのなら、 setTimeout()やsetInterval()を使えばよいと思います。

Mark0817
質問者

お礼

回答ありがとうございます。 >そのチェックをいつどのような契機で実施するつもりかです。 onLoadで別のJavaScriptを呼びその後の PL/SQLのソースの中で、チェックをしています。

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

全般的に意味がとり辛い質問文ですね。 JavaScriptを起動 ⇒ ダイアログを表示 Web上では表示したくない ⇒ ブラウザの主画面を汚さずに情報を表示したい という理解で良いですか? onLoad の処理の中で alert() や confirm() を発行すればダイアログは出ます。 それでは不満ですか?

Mark0817
質問者

お礼

回答ありがとうございます。 >JavaScriptを起動 ⇒ ダイアログを表示 >Web上では表示したくない ⇒ ブラウザの主画面を汚さずに情報を表示したい >という理解で良いですか? はい、その通りです。分かりづらく申し訳ありません。 >onLoad の処理の中 onLoadして、その後PL/SQLが動き、その中でチェックし、ダイアログを出したいのですが、onLoadで実現可能なのでしょうか? あまりにも初心者すぎてすみません。

関連するQ&A