アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

隠しフィールドのデータを次のページ(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がエラーになります)
どなたか、正しい書き方を教えてもらえませんか?

すみませんが、よろしくお願いいたします。

A 回答 (3件)

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


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

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

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

この回答への補足

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

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

本当にすみません。

補足日時:2001/10/31 16:33
    • good
    • 0

<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")

と記述する必要があります。
参考までに

この回答への補足

ご回答ありがとうございます。
「RUNAT="Server"」でデータの受取ができました。
ありがとうございました。
大変恐縮ですが、もう一つをお聞記したいんですが。
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
</SCRIPT> の間で受取ったデータを
<SCRIPT LANGUAGE="VBScript">
</SCRIPT> の処理の間に渡したいんですが、
できますでしょうか。
本当にすみません、
よろしくお願いいたします。

補足日時:2001/10/31 11:16
    • good
    • 0

default.aspからsub.aspを呼び出すのですね。


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

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

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