- PR -

Webアプリケーションでメッセージボックスを表示したい

投稿者投稿内容
なり
常連さん
会議室デビュー日: 2006/06/19
投稿数: 32
投稿日時: 2006-08-03 10:55
こんにちは。
お久しぶりです。なりです。

先日教えていただいた内容で、検索→表示、とDBへの登録を行う機能については、問題なく動作するようになりました。(やっとここまでこれました。長かった。。。)
そのコードの中で、Msgbox を使用してポップアップウィンドウを表示させていたのですが、VBのデバッグでは動作するのですが、「IEから同じことをすると動かないじゃ〜ん。」ということで、いまさらながら、調べてみた。すると、JavaScript のAlert を使わないとできないらしいという事が判明しました。

しかしながら、ボタンクリックなどに紐付けて実施するのではなく、いくつかの分岐処理の後で、状況に応じたポップアップを出したい場合、どこかで、Javascript を呼ばなければならないと思うのですが、その方法が判明しません。

どなたか、ヒントをいただけませんでしょうか。

----
環境:Windows server 2003 sp1 + ASP.NET 2.0 +VS2005 Web Exp
SQL 2000 SP4

----
やりたいこと

・ボタンをクリックする。
・データベースの検索をする。
・検索結果が0なら、メッセージ1を、検索結果がその他の場合はメッセージ2を表示したい。
・メッセージ表示後は、VB.NETのコマンドに戻りたい(更に続きの処理がしたい)

----
以下のあたりの情報を求めていますので、このページが参考になる、などがありましたら、ご教示いただきたくお願いします。

・前提として、言語の指定が必要?(どこにどう記述する?)
・実際に呼び出す時の指定方法はどうしたらよい?
・JavaScript 側にも何か設定が必要?

かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-08-03 10:58
<script language="VBScript">
でVBScriptが動きますよ。メッセージボックスも使えます。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-08-03 11:01
んあ?呼び出し方とかってより好きなタイミングで呼ぶ方法がわからんのじゃね?
引用:

なりさんの書き込み (2006-08-03 10:55) より:
いくつかの分岐処理の後で、状況に応じたポップアップを出したい場合、どこかで、Javascript を呼ばなければならないと思うのですが、その方法が判明しません。


しっかり書かれてないけど。
なり
常連さん
会議室デビュー日: 2006/06/19
投稿数: 32
投稿日時: 2006-08-03 11:04
>かつのりさん
すみません。
Web アプリケーションなもので、
「アプリケーションが UserInteractive モードで実行されていないときに、モーダル ダイアログまたはフォームを表示することは有効な操作ではありません。サービス アプリケーションからの通知を表示するには、ServiceNotification または DefaultDesktopOnly スタイルを指定してください。」
というメッセージが出てしまうのです。

>ぶさいくろうさん
補足説明ありがとうございます。
好きなタイミングで呼んで、戻ってくる、方法が分からないのです。
説明が不足していて申し訳ありません。

Moo
大ベテラン
会議室デビュー日: 2004/04/12
投稿数: 118
お住まい・勤務地: 地球・港
投稿日時: 2006-08-03 13:26
これにちかいかな?

ASP++Wiki:ページがロードされた時にjavascriptを実行するには
http://moo-asp.net/?wiki=TIPS/2
_________________
ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/
日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/
なり
常連さん
会議室デビュー日: 2006/06/19
投稿数: 32
投稿日時: 2006-08-04 14:01
Mooさん

ご返答ありがとうございます。
教えていただいたページを見てみたのですが・・・
なんとなくイメージが違うのです。

VBスクリプト内で、JavaScript を呼び出し、
その結果(メッセージボックスを表示し、Yes/No の応答)を
またVBスクリプトに渡したいと考えています。

イメージとしては、
1の方法
・Java ではページロード時には何もしない。
・ボタンをクリックし、VBの処理が行われる。
・Java の Alert1 を実行する命令を出す。
・Alert1実行し、結果によって、VBのコマンドを呼び出し、ここから続きの処理が行われる

2の方法
・Java ではページロード時には何もしない。
・ボタンをクリックし、VBの処理が行われる。
・Java の Alert1 を実行する命令を出し、結果を受け取る。
・続きの処理が行われる

というようなものを想定していたので、ページのロード時やコマンドの実行前、というのではなく、「VB.NET のスクリプトの途中」で行いたいと考えています。

上で照会したページの、こことこういうのを組み合わせればできる、などがあれば、ぜひご教示いただきたく、お願いします。
Moo
大ベテラン
会議室デビュー日: 2004/04/12
投稿数: 118
お住まい・勤務地: 地球・港
投稿日時: 2006-08-04 15:25
うーん。
----
処理 fx1からfx5を順番に呼び出す
処理が1つ終わった段階でjavascriptによりConfirmを出す
(VBScriptでMsgBoxでもお好きなほうをどうぞ)
OKが押されたら次の処理を呼び出す
キャンセルが呼び出されたら後続の処理を行わない
----
ということですか?

fx1を実行したら
「Javascript:confirmを表示してOKが押されたらfx2を呼び出す」
という感じにしたいのでしょうか。

設計レベルのお話になってしまいますが
すべての処理を行い結果を表示したほうが良いような気がしますが...
やり取りの途中で通信障害があったら後続処理を続けることができないと思うのですが。
_________________
ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/
日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-08-04 16:30
>・Java ではページロード時には何もしない。
…Java?

>「VB.NET のスクリプトの途中」で行いたい
一応、execScript()で他の言語を呼ぶことはできますが。

なんとなく、サーバサイドとクライアントサイドの違いが分かっていないような。

スキルアップ/キャリアアップ(JOB@IT)