OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

隠しフィールドをVBScriptでの受取る方法

  • すぐに回答を!
  • 質問No.160425
  • 閲覧数940
  • ありがとう数0
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 0% (0/3)

初めての投稿です。
ぜひ、おしえてください。

隠しフィールドのデータを次のページ(VBScript)での受取り方法がお聞きします。

default.aspファイルに下記を記述しています:
<FORM NAME="MyForm" method=Post Action="./sub.asp">
<INPUT TYPE=Hidden VALUE="<% Response.Write MyData %>" Name="MyData">
<INPUT type="submit" name="cmdSend" value="送る">
</Form>

sub.aspファイル(次ページ)に下記を記述しています:
<SCRIPT LANGUAGE="VBScript">
Dim temp
temp = MyForm.MyData.Value
</SCRIPT>

上記の記述文では、データの引渡しができませんが、
(sub.aspページでMyFormがエラーになります)
どなたか、正しい書き方を教えてもらえませんか?

すみませんが、よろしくお願いいたします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル12

ベストアンサー率 65% (242/372)

> <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
> </SCRIPT> の間で受取ったデータを
> <SCRIPT LANGUAGE="VBScript">
> </SCRIPT> の処理の間に渡したいんですが、
> できますでしょうか。

サーバーサイドとクライアントサイドの処理の違いを理解していれば簡単な話ですが・・・

<SCRIPT LANGUAGE="VBScript">
Dim temp
temp = <%= Request.Form("MyData")%>
</SCRIPT>
補足コメント
ktyo

お礼率 0% (0/3)

ご回答ありがとうございました。
IISのことがまだよくわかりません、
これから勉強するところです。
もうしわけありません。

で、temp = <%= Request.Form("MyData")%>
の行でエラーは発生しました。
「ステートメントの末尾が不正です」というエラーです。
もう少し自分で調べてみるべきなんですが、
もし、良ければアドバイスをいただけませんでしょうか。

本当にすみません。
投稿日時 - 2001-10-31 16:33:13
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル6

ベストアンサー率 40% (2/5)

default.aspからsub.aspを呼び出すのですね。 ということは、sub.asp内のコードのtemp=MyForm.MyData.Valueのところを、temp=Request.Form("MyData")と書き直してやればよいと思います。(temp=Request.Form("MyData").valueかも・・・お試しください) 呼び出し元(=Re ...続きを読む
default.aspからsub.aspを呼び出すのですね。
ということは、sub.asp内のコードのtemp=MyForm.MyData.Valueのところを、temp=Request.Form("MyData")と書き直してやればよいと思います。(temp=Request.Form("MyData").valueかも・・・お試しください)
呼び出し元(=Request)のフォーム内オブジェクト、ということです。
微妙に間違ってたらごめんなさい。試してませんので。
ただ、呼び出し元から何かを受け取るとき、Requestを使用する、ということはASPの基本的なことですし、ktyoさんのコードの最大の間違いです。
がんばってください。
  • 回答No.2
レベル12

ベストアンサー率 65% (242/372)

<SCRIPT LANGUAGE="VBScript"> </SCRIPT> という処理はクライアントサイドの処理ですので サーバーサイドスクリプトで動作することを明示するために <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> </SCRIPT&g ...続きを読む
<SCRIPT LANGUAGE="VBScript">
</SCRIPT>

という処理はクライアントサイドの処理ですので
サーバーサイドスクリプトで動作することを明示するために

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
</SCRIPT>

または先頭行に

<%@ LANGUAGE="VBScript" %>

と記述します。
つまりktyoさんが要望される処理を行うには

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Dim temp
temp = Request.Form("MyData")
</SCRIPT>

または

<%@ LANGUAGE="VBScript" %>
Dim temp
temp = Request.Form("MyData")

と記述する必要があります。
参考までに
補足コメント
ktyo

お礼率 0% (0/3)

ご回答ありがとうございます。
「RUNAT="Server"」でデータの受取ができました。
ありがとうございました。
大変恐縮ですが、もう一つをお聞記したいんですが。
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
</SCRIPT> の間で受取ったデータを
<SCRIPT LANGUAGE="VBScript">
</SCRIPT> の処理の間に渡したいんですが、
できますでしょうか。
本当にすみません、
よろしくお願いいたします。
投稿日時 - 2001-10-31 11:16:24
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ