- 締切済み
VBScriptの書き方
メンテナンス画面から登録ボタンを実行して、 入力内容にエラーがあったら、 エラーメッセージを表示して、 登録画面をもう一度表示する。 といった処理にしたいのですが、 エラーメッセージをVBScriptで表示すると、 メッセージが、どうしても2回表示されてしまいます。 例) <% If xx then %> <script language=VBScript> <!-- MsgBox("aaa") //--> </script> <% End If %> : : : <html> : : </html> <html>タグの前に<script>タグを書くとsubmitされるのでしょうか? 結局、html中のjavaScriptに書き込んで、<body>のonloadでメッセージを 表示する処理に直したのですが、腑に落ちないので… ご存知の方、教えてください。 ちなみに環境はNT4.0、IE5.5です。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- itohh
- ベストアンサー率45% (210/459)
こんにちは。itohhといいます。 あまりにもソースを省略しすぎて解らないのですが。 まず、 <%...%>は、サーバ側(IIS/ASP)で動きます。 そして、 ><script language=VBScript> ><!-- >MsgBox("aaa") >//--> は、ブラウザ側で動作するコードです。 ですので、 ><% If xx then %> ><script language=VBScript> ><!-- >MsgBox("aaa") >//--> ></script> ><% End If %> ここのところは、サーバ側でxxが真になる場合だけ、IfとEnd Ifの間のコードを ブラウザ側に送ります。 その後、ブラウザ側でMsgBox("aaa")が実行されます。 載っているソースではここまでしか解りません。 あと、ブラウザ側で動作するスクリプトがこのままだと、VBScriptですよね。 一般的にブラウザ側で動作するスクリプトはJavaScriptのほうが良いですよ。 VBScriptが動作するのは、WindowsのIEだけですよ。ネスケなどでは動作しません。
- marmi1516
- ベストアンサー率17% (3/17)
(使用するソフトによって違ったりすることもあるのかもしれないので、 はっきりとは言いきれないのですが・・・) ASPだからVBScriptなのかどうかはわかりませんが、 わたしの使用しているソフトでは、<%~%>で囲った部分はVBScriptです。 hyahooさんも、<%If~%>の部分はVBScriptだとおっしゃっていましたが、 それならば、<script language=VBScript> で宣言をする必要はないのではないでしょうか? 入力チェックはjavascriptでは駄目なのですか?? わたしは、<HEAD>~</HEAD>の部分にいれてありますが・・・ もう少し詳しく説明していただけると、嬉しいです。
- marmi1516
- ベストアンサー率17% (3/17)
私もあまり詳しい訳ではないのですが・・・ ソフトは何を使用されていますか?? <%~%>で囲った部分は、VBScriptではないのですか?? わたしもMicrosoft Visual InterDevでASPをやっているので、 少しはお役に立てるかもしれません。
補足
私も今回ASPは初めてでよくわかってないのですが、 <%~%>はJSPの処理タグと同じだと思ってます。 JSPだと<%~%>の中はjavaだから、ASPだとVBScriptってことでしょうか? 一通り、流れを追ってみて、<%IF ~%>のところは、1回しか通ってないと思ったんですが、分かりにくいですね。 すいません、ますますややこしくなってしまった。