• ベストアンサー

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内で使用している変数を使いたいのですが。。。

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

  • ベストアンサー
  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.2

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 ;

その他の回答 (3)

  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.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> でどうでしょうか?スクリプト内で変数に渡さなくても出来ますが取りあえず入れてみました。

Rubellite
質問者

お礼

詳しい解説ありがとうございました。 POSTで別のASPファイルで変数を受け取るやり方で、ひとまず逃げておきました。 質問に出していますJAVAスクリプトとASPの間に、もう一つ別のフォームタグがあり、フォームタグが二重の状態になって、動作するようになっています。 このフォームの二重構造に問題があるみたいですので、ページの構造を再検討してみます。

  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.3

#2からです。 ちょっと読んでて勘違いしていましたね。 JavaScriptとしては#1の方の書き方で良いと思います。 問題は取り方ですね。それが私の#2です。 とすると<%=変数名%>で動かないと言うのはどういう事でしょう?後者のaspがコールされているときのURLはどうなっているでしょうか?ブラウザのアドレスバーに値が入っていればスクリプト側はOKです。 取得側の問題だと思います。

  • mirurin
  • ベストアンサー率43% (48/111)
回答No.1

parent.frmMain.location.href="./Nipo_Calendar.asp?dbID=" + <% = dbID %> + "&tNow=" + <% = tNow %>; これでどうでしょう? #環境がないのでテストしてません。

関連するQ&A

専門家に質問してみよう