• ベストアンサー

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

  • ASPのSession変数を配列にしたいのですが。。。

    ASPのSession変数を配列にして使用したいのですが、どのように表記すればいいのでしょうか? Do Until rs.EOF ID=Session("ID(i)") i=i+1 rs.MoveNext Loop という感じに使用したいのですが。。。

  • javaScriptの変数をJavaの変数に代入する。

    jspで作ったプログラムがあるこのような場合変数を共有する方法はありますでしょうか? 以下の場合iの(JavaScript)値をjavaの変数iに代入したい場合どうすればいいでしょうか? <%! String s[] ={A,B,C,D,E} %> function chek(){ for(i = 0;i< 5 ;i++){ <%! int i =%> = i;//←この部分です //document.form1.desc.valueにはBの値が入っている if(<%! s[i] %> == document.form1.desc.value){ alert("Bです"); } }

  • Java PostgreSQL スクリプトレット

    スクリプトレットを使用し、ログイン画面を作成しようと考えています。 <%@ page import="java.io.*,javax.servlet.*,javax.servlet.http.*,java.net.*,java.sql.*" %> <% request.setCharacterEncoding("Shift_JIS"); String id = (String)request.getParameter("id"); String pass = (String)request.getParameter("pass"); String drv = "org.postgresql.Driver"; String dsn = "jdbc:postgresql://localhost:5432/?user=postgres&password=aipo"; String sql = "SELECT * FROM TURBINE_USER"; Connection cn = DriverManager.getConnection(dsn); Statement st = cn.createStatement(); ResultSet rs = st.executeQuery(sql); while (rs.next()) { out.println("<P>" + rs.getString(1) + "</P>"); } rs.close(); st.close(); cn.close(); %> 上記を実行すると org.apache.jasper.JasperException: Exception in JSP: /get.jsp:18 となり、 ResultSet rs = st.executeQuery(sql); の時点でエラーとなります。 Statement st = cn.createStatement(); まで正常に動作するのは確認済みです。 類似する質問に http://oshiete1.goo.ne.jp/qa3522131.html がありましたが、解決できませんでした。 どこが間違っていますでしょうか。

  • 配列を使ってクエリの値を変数にしたい

    配列を使ってクエリの値を変数にしたいと考えていますが、 変数として見ず、文字列としてみているようです。 *********test.asp*************** kyoku1 = Request.Form("kyoku1") kyoku2 = Request.Form("kyoku2") kyoku3 = Request.Form("kyoku3") (kyoku1~3は前のページのフォームから値を持ってきています。) Dim k(2) Dim m(2) Dim jj jj = 0 k(0) = kyoku1 k(1) = kyoku2 k(2) = kyoku3 m(0) = kyokumei1 m(1) = kyokumei2 m(2) = kyokumei3 Set db=Server.CreateObject("ADODB.Connection") db.Provider = "Microsoft.Jet.OLEDB.4.0" db.ConnectionString = Server.MapPath("DB名") db.open Do While j < 3 Set rs = db.Execute("SELECT テーブル名.* FROM テーブル名 WHERE ((テーブル名.番号)='"&k(jj)&"')") m(0) = rs.Fields.Item("曲名") j = j + 1 jj = jj + 1 Loop Response.Write(" & kyokumei1 & ") Response.Write(" & kyokumei2 & ") Response.Write(" & kyokumei3 & ") 宜しくお願い致します。

  • x.aspxとx.aspx.vbの値の受渡について

    asp.net4で開発を実施しております。 FormViewを使ってデータの登録を行おうとしております。 form1.aspx.vbで設定した変数を、form1.aspx側のsqlにて使いたいと思っているのですが、どのようにすればよいでしょうか? 【form1.aspx.vb】 sub aaa = 1 end sub 【form1.aspx】 : <asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:DB1ConnectionString %>" DeleteCommand="UPDATE Table1 SET [Flg1] = @aaa WHERE [CD] = @CD" <DeleteParameters> <asp:Parameter Name="CD" Type="String" /> <asp:Parameter Name="aaa" Type="String" DefaultValue="<%= aaa %>" /> のように作ってみたのですが、うまくいきません。 どの様にすればよいのかご教示いただければと思います。  よろしくお願い致します。

  • aspファイルの内容が全くわかりません。困っています。

    asp.netの初心者です。 今まで管理されていた人が休職してしまったので、代わりに修正や加工を少し行っていました。 しかし、以下のファイル内容が全く分かりません。(抜粋です。) 正常に使用しているファイルです。 最後の Session("pointzan")=rs("PointZan") はどこのデータベースから受け取っているのでしょうか? Select文がどこにも書かれていないので、全くわかりません。 それとも別のファイルなどに飛んで処理しているのでしょうか? rs("PointZan")を呼び出しているデータベースがどこなのかを知りたいです!! よろしくお願いいたします。 ---------------------------------------------- If Request.Form("CODE")="" then wID = Trim(Request("CODE")) Set pm = cm.CreateParameter("ID",129,1,13,wID) '(name,Char,Input,Length,Value) cm.Parameters.Append pm cm.CommandText = "UP_HIKI01" cm.CommandType = 4 cm.ActiveConnection = cn Set rs=cm.Execute Else wID = Trim(Request.Form("CODE")) Set pm = cm.CreateParameter("ID",129,1,13,wID) '(name,Char,Input,Length,Value) cm.Parameters.Append pm cm.CommandText = "UP_HIKI01" cm.CommandType = 4 cm.ActiveConnection = cn Set rs=cm.Execute End If Session("code")=rs("Code") Session("pointzan")=rs("PointZan") YVC1=rs("YVC1") If YVC1="" or isNULL(YVC1) Then session("YVC1")="" End If ----------------------------------------------

  • <ASP>にTextBoxの値を設定する方法

    TextBoxに記述されたDB接続文字列を<ASP>内で設定しようと試みておりますが、失敗します。どのように記述を改めればよろしいでしょうか? ----------------- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebForm1" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { TextBox1.Text = Application["DB_CON_STRING"].ToString(); } </script> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> </head> <body> <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <div> </div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" /> <asp:BoundField DataField="DATETIME" HeaderText="DATETIME" SortExpression="DATETIME" /> <asp:BoundField DataField="MESSAGE" HeaderText="MESSAGE" SortExpression="MESSAGE" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="form1.TextBox1.Text"★ここがうまくいかない★ SelectCommand="SELECT * FROM TEST ORDER BY ID DESC"></asp:SqlDataSource> </form> </body> </html>

  • 入力フォームの値をSQLのクエリに代入したい

    「1.htm」で入力された値を、次のページ「2.asp」で受け取って、 SQLに代入したいと考えています。 が、うまくいきません。 結果としては、クエリの結果がなく、 データが何も表示されない状態です。 どなたか宜しくお願いします。 ****1.htm**** <form method="POST" action="2.asp"> <input name="simei" type="text"> <input type="submit" value="検索"> </form> ****2.asp**** i = "Request.Form("simei")" Set rs = db.Execute("SELECT * FROM test WHERE ((test.氏名)='i')")

  • データグリッド・・・?

    データグリッドにデータを入れたいのですが、入りません。ソースを書きますのでご指摘お願いします。 Set cn = New ADODB.Connection Set rs = New ADODB.Recordset ' 接続文字列を設定 cn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=c:¥aaa.mdb" ' コネクションをオープン cn.Open ' 選択クエリーを作成 strSQL = "Select * From bbb where ID = " & dbid & _ " ORDER BY 年月日 DESC" ' レコードセットをオープン rs.Open strSQL, cn, adOpenStatic, adLockOptimistic set DataGrid1.DataSource = rs ' オブジェクトを閉じる rs.Close cn.Close ' オブジェクトを解放 Set rs = Nothing Set cn = Nothing

  • aspファイルがダウンロードされてしまいます。

    ユーザ認証のaspなのですが、 以下のようなhtmlファイルをIE6.0にて開き、submitボタンを押すとなぜか、"AUTHORIZED.ASP"が実行されず、aspのファイルをダウンロードするようになってしまいます。このような場合、問題はどこにあるのでしょうか。 WINXPでIISを使用しています。ちなみに、"Visual InterDev6.0"使用してます。 <BODY> <FORM ACTION="AUTHORIZED.ASP" ID=FORM1 method=post name=FORM1>    -------------略--------------- <TD><INPUT id=submit1 type=submit value=Submit name=submit1></TD>    -------------略---------------     </FORM> </BODY>