こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ASPの変数の値をJAVA Script内で使用したいのですが

vfunction ShainSet(){
parent.frmMain.location.href="./Nipo_Calendar.asp?dbID=<ココ>&tNow=<ココ>";

}
//-->
--------------
上記のようなJAVA Script内でaspファイルの引数として指定している、dbIDとtNowという変数に対して、
同じASPファイル内(下の方に続いている部分)で取得する値を代入したいのですが、ASPの変数の値をどのようか形でJAVAで記述すればいいかわかりません。
--------------

Set cn = Server.Createobject("ADODB.Connection")

ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db\nipo.mdb"
Call cn.Open(ConnectionString)

MySql="SELECT T_社員マスター.社員ID,T_社員マスター.氏名,T_社員マスター.現場ID " _
& "FROM T_社員マスター " _
& "WHERE T_社員マスター.現場ID= '" & sel & "'" _
& "ORDER BY T_社員マスター.社員ID ;"

Set rs = cn.Execute(MySql)

Do While Not rs.EOF

Response.Write "<Option Name=Shain Value=""" & rs("社員ID") & """>" & rs("社員ID") & ":" & rs("氏名")

rs.MoveNext
Loop

tNow = Now()
dbID = rs("社員ID")
%>
<FORM>
<INPUT type="button" value="選択" onClick="ShainSet()">
</FORM>

----------

<%=変数名%>などのように、JAVAの内部に<%%>でくくったASPの変数を使用してもうまく動かないのですが、
何か別の表記方法があるのでしょうか?

<ココ>かかれた場所に、ASP内で使用している変数を使いたいのですが。。。

投稿日時 - 2002-10-17 14:44:47

QNo.383015

すぐに回答ほしいです

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

ASP側で受け取るときですね。

URLに対してMethod="GET"のhttpリクエストだったら

ASP側で
request.queryString("dbID")
request.queryString("tNow")
Stringとして取れます。

ちなみにmethod="POST"だったら

request.From("dbID")
request.From("tNow")

ですね。

JavaScript側は文字列をそのままセットしちゃってください。可変にするのだったら以下のようにそのページ内で変数を作って+で連結すればOKです。

parent.frmMain.location.href="./Nipo_Calendar.asp?dbID=" + strdbID + "&tNow=" + strtNow ;

投稿日時 - 2002-10-17 15:23:45

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

#2,3からです。

意味が分かりました。
ASPから取得した物ではなくJavaScriptにASPで生成したHTMLより値を渡したいと言うことですね。

vfunction ShainSet(){
dbID = document.form1.Shain.value;
tNow = document.form1.tNow.value;
parent.frmMain.location.href="./Nipo_Calendar.asp?dbID=" + dbID + "&tNow=" + tNow ;

}
//-->
<FORM name="form1" >
<%
Set cn = Server.Createobject("ADODB.Connection")

ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db\nipo.mdb"
Call cn.Open(ConnectionString)

MySql="SELECT T_社員マスター.社員ID,T_社員マスター.氏名,T_社員マスター.現場ID " _
& "FROM T_社員マスター " _
& "WHERE T_社員マスター.現場ID= '" & sel & "'" _
& "ORDER BY T_社員マスター.社員ID ;"

Set rs = cn.Execute(MySql)

Do While Not rs.EOF

Response.Write "<Option Name=Shain Value=""" & rs("社員ID") & """>" & rs("社員ID") & ":" & rs("氏名")

rs.MoveNext
Loop

tNow = Now()
dbID = rs("社員ID")
%>
<INPUT type="hidden" value=<%tNow%> NAME="tNow">
<INPUT type="button" value="選択" onClick="ShainSet()">
</FORM>

でどうでしょうか?スクリプト内で変数に渡さなくても出来ますが取りあえず入れてみました。

投稿日時 - 2002-10-17 15:53:17

お礼

詳しい解説ありがとうございました。

POSTで別のASPファイルで変数を受け取るやり方で、ひとまず逃げておきました。

質問に出していますJAVAスクリプトとASPの間に、もう一つ別のフォームタグがあり、フォームタグが二重の状態になって、動作するようになっています。

このフォームの二重構造に問題があるみたいですので、ページの構造を再検討してみます。

投稿日時 - 2002-10-19 08:36:47

ANo.3

#2からです。

ちょっと読んでて勘違いしていましたね。
JavaScriptとしては#1の方の書き方で良いと思います。
問題は取り方ですね。それが私の#2です。

とすると<%=変数名%>で動かないと言うのはどういう事でしょう?後者のaspがコールされているときのURLはどうなっているでしょうか?ブラウザのアドレスバーに値が入っていればスクリプト側はOKです。
取得側の問題だと思います。

投稿日時 - 2002-10-17 15:35:11

ANo.1

parent.frmMain.location.href="./Nipo_Calendar.asp?dbID=" + <% = dbID %> + "&tNow=" + <% = tNow %>;

これでどうでしょう?
#環境がないのでテストしてません。

投稿日時 - 2002-10-17 15:09:45

あなたにオススメの質問