メンテナンス画面から登録ボタンを実行して、
入力内容にエラーがあったら、
エラーメッセージを表示して、
登録画面をもう一度表示する。

といった処理にしたいのですが、
エラーメッセージを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です。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。

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だけですよ。ネスケなどでは動作しません。
    • good
    • 0

(使用するソフトによって違ったりすることもあるのかもしれないので、


はっきりとは言いきれないのですが・・・)

ASPだからVBScriptなのかどうかはわかりませんが、
わたしの使用しているソフトでは、<%~%>で囲った部分はVBScriptです。
hyahooさんも、<%If~%>の部分はVBScriptだとおっしゃっていましたが、
それならば、<script language=VBScript> で宣言をする必要はないのではないでしょうか?

入力チェックはjavascriptでは駄目なのですか??
わたしは、<HEAD>~</HEAD>の部分にいれてありますが・・・

もう少し詳しく説明していただけると、嬉しいです。
    • good
    • 0

私もあまり詳しい訳ではないのですが・・・



ソフトは何を使用されていますか??
<%~%>で囲った部分は、VBScriptではないのですか??

わたしもMicrosoft Visual InterDevでASPをやっているので、
少しはお役に立てるかもしれません。

この回答への補足

私も今回ASPは初めてでよくわかってないのですが、
<%~%>はJSPの処理タグと同じだと思ってます。

JSPだと<%~%>の中はjavaだから、ASPだとVBScriptってことでしょうか?

一通り、流れを追ってみて、<%IF ~%>のところは、1回しか通ってないと思ったんですが、分かりにくいですね。

すいません、ますますややこしくなってしまった。

補足日時:2001/10/17 15:55
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qmixi上で、女子高生に『映画に一緒に行きませんか?』とメッセージを送

mixi上で、女子高生に『映画に一緒に行きませんか?』とメッセージを送るのは犯罪になりますか?

 なるんですか?

Aベストアンサー

相手の年齢にもよると思います。
定時制の高校に通学している70歳の女性も、れっきとした「女子高生」ですから。

Q と <% %>は違うの??

ASP開発をしています。

あるASPでIncludeファイルで配列宣言
Dim gsABC(10)を宣言します。

Includeファイルの中身
<Script Language="VBSCRIPT" RUNAT="SERVER">
Dim gsABC(10)
</script>

そして、ASPファイルでその変数gsABC(0)を
使おうとするとエラーが発生します。

けれども、Includeファイルの中身を
<%
Dim gsABC(10)
%>

にすると正常に動きます。
2つは同じものだと思っていたのですが、
これによって違うものなのかと認識するように
しなければと思ってますが・・・

どこが違うのか分かりません。

どなたか分かりやすく簡単でいいですから
説明して頂けないでしょうか?
よろしくお願いします。

Aベストアンサー

おすすめは後者の 「 <% Dim gsABC(10) %> 」です。
Includeでしたら別に構いませんが、前者だとASPやHTMLに拡張子を決めてしまうとソースが丸見えです。
開発でもやりましたが、VB系のソースは基本的に後者だと思っています。

参考URL:http://tryasp.winscom.co.jp/sample/

Q映画 バトルロワイヤルのメッセージ性

 わりと古い映画な気がしないでもないですがつい最近この映画を見ました。
 ちなみに他のメディアでは見てません。
 ところで本題ですがこの映画の伝えたかったものとはなんなのか皆さんの意見を聞きたいです。
 僕は現代の教育に対する批判に見えました。教師が生徒に手を出せない、暴力であると言ってクビになる、そんな状況を批判するものに見えました。
 調べて考察などを見ればただの殺し合いだとか戦争の悲惨さという意見がありました。
 果たしてどう捉えるのがいいか、はたまたどれでもないのかとても気になっています。
 よろしくお願いします。

Aベストアンサー

映画はみてませんが、ずいぶん前に原作の本を読みました。
原作を読んだ時に何かしら強いメッセージがあるとは私には思えなかったです。さらっとエンターテイメントとして読んで終わったという感じです。もしかしたら映画の方は、監督が原作から得たアイディアに自分のメッセージをこめて作ったのかもしれないですが。のちにアメリカの作家が設定をかえて同じコンセプトで本を書いて、映画にもなってヒットしていたので、このコンセプトは何かしら人を惹きつけるんでしょうね。

Q"<%=date変数%>" を "<%=date18(←仮数字)%>"とHTML上で表示させたい

いつもお世話になっております。
現在ASPでプログラムを作成していますが。

<%= %> で囲まれた中に更に変数(<%= %>)を入れることになりました。
どの様にすれば
HTMLソースに value="<%=date変数%>"と表示出来ますか
アドバイスお願いいたします。

以下ソースを記載します。

<!-- カレンダー設置関数 -->
<% Function cal(num)
   Dim a
   Dim str
%>
   <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%
   a = 2
   Do Until a > 26
    if a <> num then
%>
     cal<%=a%>.hide();
<%
    Else
    End if
    a = a + 1
   Loop
   Response.Write str
   Response.Write " "" "
%>
   onChange="ca<%=num%>.getFormValue(); cal<%=num%>.hide();" value="<%=date<%=num%>%>"【←問題の箇所です】>
   <br>
   <div id="caldiv<%=num%>"></div>
<%End Function%>

いつもお世話になっております。
現在ASPでプログラムを作成していますが。

<%= %> で囲まれた中に更に変数(<%= %>)を入れることになりました。
どの様にすれば
HTMLソースに value="<%=date変数%>"と表示出来ますか
アドバイスお願いいたします。

以下ソースを記載します。

<!-- カレンダー設置関数 -->
<% Function cal(num)
   Dim a
   Dim str
%>
   <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%
   a = 2
   ...続きを読む

Aベストアンサー

実際に試したわけじゃないですけど、普通に &lt;%=date変数%&gt; で
できませんか。
(実体参照)

Q映画「メッセージ・イン・ア・ボトル」のテーマ曲

98年の夏にイギリスに1ヶ月滞在したときによく流れていました。日本に帰ってきてから映画の予告編か何かで聴いて、「あ、この曲!」と思ったのですが、タイトルもアーティストもわからないので、探すことができません。どなたか御存じの方がいたら教えて下さい。

Aベストアンサー

「メッセージ・イン・ア・ボトル」のサイト↓

http://message-bottle.warnerbros.com/cmp/trailer.html

で予告編(?)を見ることができるのですが、
予告編の後半部分で使われている女性ボーカルの曲は、
ナタリー・インブルーリア(Natalie Imbruglia)
の「トーン(Torn)」です。HoneyHoneyさんが書いておられるように、
この曲は1998年にイギリス(日本でも)でヒットしました。

CDショップのHMVのサイト↓

http://www.hmv.co.jp/product/detail.asp?sku=663954

でこの曲を試聴することができます。

参考URL:http://message-bottle.warnerbros.com/cmp/trailer.html,http://www.hmv.co.jp/product/detail.asp?sku=663954

Q<%@ language="VBScript" %>

下記質問、よろしくお願いいたします。

<%@ Language="VBScript" %>
<%


%>

という記述と、

<Script Language="VBScript">
<!--


-->
</Script>

という記述の違いって何でしょうか。
1つわかっているのは、イベントハンドラを
<%
Sub btnButton1_OnClick
End Sub
%>
と記述しても認識してくれはしませんでした。
ネットをいろいろ調べましたが、「<%@・・」の
記述を調べられず困ってます。
どうぞよろしくお願いします。

Aベストアンサー

こんにちは。

<%@ Language="VBScript" %>
はサーバにVBScriptで記述しますと教え、
アクセスがあった場合に、処理を行った後、結果としてHTML等を返します。

<script・・・
はブラウザにVBScriptで記述しますと教え、
ブラウザ上で実行されます。

なので、
<%
Sub・・・
%>

とした場合、サーバ上で全て処理されますので、ボタンを押したとか
はわからないので使用することが出来ません。

Q深夜TVで見た映画のタイトルを知りたい!

数年前、深夜にやっていた映画ですがもう記憶も薄れストーリーもよく覚えてません。とにかく印象に残っているのが映画の最後は部屋にカップルが居て電話が鳴りその電話が留守電のメッセージに変わるのですがその留守電のメッセージがすごくしゃれたメッセージだったのがすごく印象に残ってます。映画はたしかそのシーンで終了したと思います。たしか映画は字幕だったと思います。多分アメリカ映画だと思います。とにかくこれしかわかりません。どうしてももう一度見たいのでお分かりの方教えて下さい。

Aベストアンサー

リアリティ・バイツではないでしょうか。
1994年アメリカ
出演ウィノナ・ライダー、イーサン・ホーク

大学卒業、就職、そして現実の厳しさ。その中で見つけた本当の恋人。アメリカン青春ラブストーリーといったところでしょうか。
問題の留守電のメッセージは「あなたの名前と電話番号を 人生にはなぜ矛盾が多いのか その答えも」というものです。

QVBScriptで<% %>の組み合わせについて

お世話になります。

今、次のようなプログラムを書いています。

<%
If Request.Form("Reference") = "スイッチ" Then
Do Until ObjRS.EOF
Response.Write"<input type=""radio"" value="""& ObjRS("番号")&""" name=""Check"">"
<td width="5%"><%=ObjRS("日付")%></td><td width="5%"><%=ObjRS("名前")%></td>
    ObjRS.MoveNext
LOOP
End If
%>

このような書き方をすると、実行したときに
ObjRS.MoveNext LOOP %>
と画面上に表示されてしまい、ループがうまくいきません。

たぶん、ObjRS.MoveNextあたりからプログラムと認知されないで、
HTMLの記述だと認知されているんだと思うんですけど、修正方法がわかりません。
何か方法はあるのでしょうか?

<参考>
開発言語:VBScript
DB:SQLServer2000
開発マシンOS:WindowsXP Professional
サーバOS:Windows2000 Server
開発ツール:FrontPage2000

お世話になります。

今、次のようなプログラムを書いています。

<%
If Request.Form("Reference") = "スイッチ" Then
Do Until ObjRS.EOF
Response.Write"<input type=""radio"" value="""& ObjRS("番号")&""" name=""Check"">"
<td width="5%"><%=ObjRS("日付")%></td><td width="5%"><%=ObjRS("名前")%></td>
    ObjRS.MoveNext
LOOP
End If
%>

このような書き方をすると、実行したときに
ObjRS.MoveNext LOOP %>
と画面上に表示されてしまい、ループがうまくいきません。

...続きを読む

Aベストアンサー

>では、Execute以外のものをやればできるんですか?

ADOのようですのでObjRS.Openですね。

ちなみにExecuteでは、結果としてレコードの値が不要なSQLを実行するために使用します。INSERT、DELETE、UPDATEとかです。


こんな感じで。
http://www5a.biglobe.ne.jp/~n_rieko/asp/16.htm


パラメータなんかは確認してくださいね。
http://www.accessclub.jp/ado/08.html

Q映画、海猿について。※ネタバレ注意です(><)

映画、海猿について。※ネタバレ注意です(><)

映画のネタバレがあるので見たいと思っている方はここから下は見ないでください><すみません((汗





映画、海猿「THE LAST MASSAGE」でのワンシーンで

一番最後、
仙崎が環菜に
「あのさ、あのメッセージ・・聞いちゃった?」

みたいなことを聞いて
環菜が「あ~。チェックイーンってやつね?」
仙崎「あ・・いや・・そっちじゃなくて・・」
環菜「ん?なに?」
仙崎「え?あ。うん、いや、聞いてないならいいんだ。...」…


みたいな会話のシーンあるじゃないですか?

結局この、最後に残したメッセージって分からないまま終わったってことですよね?!(?

「環菜!!!君に、チェック。。。イ~~~~~ンぬ!」から始まる録音メッセージしか
シーンにはなかったから、
仙崎が“そっちじゃなくて”ってことは、
もうひとつ別にメッセージを残していたってことになりますよね??・・・。
このことについて、どう思いますか?!
・・・・日本語下手で伝わらなかったら補足します。。すみません。。

気になって仕方ありません(涙

映画、海猿について。※ネタバレ注意です(><)

映画のネタバレがあるので見たいと思っている方はここから下は見ないでください><すみません((汗





映画、海猿「THE LAST MASSAGE」でのワンシーンで

一番最後、
仙崎が環菜に
「あのさ、あのメッセージ・・聞いちゃった?」

みたいなことを聞いて
環菜が「あ~。チェックイーンってやつね?」
仙崎「あ・・いや・・そっちじゃなくて・・」
環菜「ん?なに?」
仙崎「え?あ。うん、いや、聞いてないならいいんだ。...」…


みたいな会話のシーンある...続きを読む

Aベストアンサー

再びすみません。

>チェックイーンってやつは聞いたよ、って環菜が言ったあとに、「そっちじゃなくて」って言ってませんでしたっけ??・

環菜に沢山プレゼントが届いていた中で「チェックイーン」って言葉が入っていたCDがありましたよね。
環菜が「ここから来てたんだ」って苦笑いしていたものですが。

↑で大輔がいう「そっちじゃなくて」はCDの事じゃないですかね?
なんとなくCDの声が大輔っぽかったので、もしかして自分で歌って録音したのかもしれませんが
このあたりは私もハッキリ分りませんでした。

ストーリー的に、ラストメッセージが別にあって最後までわからずっていうのは
ありえない気がするので、
あの感謝の言葉が大輔のメッセージかなと思いました。

私もあいまいな点が多々あり、これはもう1回見に行かないとだめですね。

Q<%= now %>の結果

私の利用しているサーバーは
<%= now %>
で「02/11/12 午前 5:17:27」のような形式で表示されますが、これは一般的ですか。

#ふと疑問に思ったので。
#もしこれを変更するならどのような方法がありますか。

Aベストアンサー

now関数の場合は現在の時刻、日付が並んで表示されますね。これは日付、時間の省略時の編集方法です。

ASP内で編集する場合はFormatDateTime関数で編集できます。このときに地域のプロパティに従った編集をしますので詳しくはVBScriptでのこの間数のリファレンスをひいてください。
以下のURLがVBScriptの公式オンラインリファレンスです。

参考URL:http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/script56/vtoriVBScript.htm


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報