• ベストアンサー

javascriptでASPにデータを渡す

javascript,ASPの初心者です。 現在親画面にあるデータを子画面にて使用したいと思っています。 親画面の、データをjavascriptのonclickを使用して関数に渡すところまでは出来ています。その関数内でwindow.open()をコールし子画面を呼び、Page_Load()内でデータを使用したいと思っているのですが、定義?の方法が分かりません。分かりづらい説明ですみませんが、よろしくお願いいたします。

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

  • ベストアンサー
  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.2

ぉぉぅ。。。自分と同じような境遇の人がww 自分も、JavaScript、ASPの勉強を始めたばかりの初心者っすww 初心者同士、よろしく~ ̄▽ ̄ んーと。。。 その関数を渡せればいいわけっすね。。。??? 親 <Script language ="JavaScript"> function Go_child(send){ document.form.sendchild.value = send; win_style = "";(ウインドウの構成要素(ツールバーの有無とか。 win_name = " ";(ウインドウの名前? window.open("child.asp",win_name,win_style); } </script> <body> <% ASPの構文~。 a = ~~~ ←aを子画面に。と過程。 %> <form name ="form"> <input type ="button" name = "button1" onClick="Go_child(<% =a%>)"> <input type ="hidden" name ="sendchild" value =""> </form> </body> 子 <Script language ="JavaScript"> function getsend(){//JavaScriptで持ってくる場合。? document.form2.text2.value = opener.document.form1.text1.value; } </script> <body onLoad="getsend()"> <%'ASPで持ってくる場合。? Dim bbb bbb = Request.Form("sendchild") %> <form name ="form2"> <input type ="text" name ="text2"> <input type ="text" name ="text3" value ="<% =bbb%>"> </form> </body> JavaScriptでもASPでも受け取れるかな? 動作は確認してませんけど。。。 こんな感じでいいのかな?と思います(汗

jintoku
質問者

補足

回答ありがとう御座いました。 javascript関数内でコールしているwindow.open()に引数としてわたせないでしょうか?

その他の回答 (2)

回答No.3

関数に渡すデータは変数strに代入済 子画面のASPを”child.asp”として window.open("child.asp?str="+str,"",""); 子画面側で Request.QueryString("str")で取り出せません? .

  • site_uma
  • ベストアンサー率30% (109/359)
回答No.1

submitボタンをクリックしたら子画面に飛ぶ、というほうが簡単な気がしますが・・・ これなら、formタグの中のinputの内容を全部ASPに渡せるので、ASP側でRequest.Form([name])で拾ってあげるだけです。 別ウィンドウを開くのなら、formにtarget指定で。さらにサイズ指定するなら、window.openと組み合わせる必要があるかも。 - - - - - - (親画面) <form method="post" action="hoge.asp" target="newwin" onSubmit="window.open('','newwin','width=300,height=100');"> <input type="text" name="txt1" value=""> <input type="submit" value="子画面を呼ぶ"> </form> - - - - - - (子画面(hoge.asp)) <%  hoge = Request.Form("txt1") (以下、必要な処理) %> ※コードの検証はしていないので、間違いがあるかもしれません。 submitボタンを利用しないなら、そのonclickイベント内の最後にdocument.[form].submit();としてあげるか、 window.open()の指定URLに引数を指定するかになります。 - - - - - - (親画面) <script type="text/javascript"> <!-- function openwin(){ window.open("hoge.asp?arg1=aaa&arg2=bbb","newwin","width=300,height=100"); } --> </script> <input type="button" onclick="openwin()" value="子画面を呼ぶ"> - - - - - - (子画面(hoge.asp)) <%  hoge = Request.QueryString("arg1")  hoge = Request.QueryString("arg2") (以下、必要な処理) %> 質問の意図とずれていたらすみません。

jintoku
質問者

補足

回答ありがとう御座いました。 javascript関数内でコールしているwindow.open()に引数として渡す方法がよいとおもったのですが、うまくいきませんでした。

関連するQ&A