- - PR -
window.open時のURLで、値を変数から渡したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-11-16 11:38
いつもお世話になります。ユイです。
またまた、初歩的な質問なんです。行き詰まってしまって。。。 ------------------------------------ <% toriCD = Request.QueryString("toriCD") If toriCD="" Or not IsNumeric(toriCD) Then Response.Redirect "QSSquery.asp" Set db = Server.CreateObject("ADODB.Connection") db.Open "VVmdb" SQL = "SELECT * FROM QSS WHERE 組合員コード = FORMAT(" & toriCD & ",'00000000')" Set rs = db.Execute(SQL) If rs.EOF Then Response.Redirect "QSSquery.asp" 'toriCDの値が不正な場合 %> <HTML> <HEAD> <SCRIPT Language="JavaScript"> <!-- function printWork(toriCD) { { URL ="http://182.450.100.1/root/ss/MeisaiPrint.asp?toriCD="+toriCD alert(toriCD) window.open(URL,"","WIDTH=600,HEIGHT=600"); } } //--> </SCRIPT> </HEAD> <BODY> 省略 省略 省略 省略 省略 省略 <FORM name="MyForm" action="" method="POST"> <% Response.Write"<INPUT TYPE='button'" Response.Write "VALUE='印 刷'" Response.Write "onClick='printWork(" & toriCD & ")'>" %> </button> </FORM> ------------------------------------ 上記スクリプトで、印刷ボタンをクリックすると、変数のtoriCD(数字8桁)を子ウィンドウに渡すページです。 しかし、変数値によって子ウィンドウに渡すときとtoriCDに代入している数値が変わっているために対象のページを開くことができません。 例えば、toriCDに00000137を代入し、子ウィンドウを開くときのURLのtoriCDには95が入ってます。alert(toriCD)でも95が表示されます。 2日、悩んでおりどうにもなりません。 どのようにすれば解消されるでしょうか。 | ||||
|
投稿日時: 2006-11-16 12:05
8進数で、137を見てみると分かりますよ。
「普通の文字列」として強制的に認識させる必要がありますね。JavascriptだとparseInt付けないと文字列として扱ってたような気がするんですが・・・ とりあえず、HTMLのソースを確認してみてどちら側で8進数として扱ってしまっているかを確認してみて下さい。 | ||||
|
投稿日時: 2006-11-16 12:07
こんにちは。
こんな感じで(テストも何もまったくしていませんが ![]() たぶん JavaScript の仕様( C 由来?)で「先頭が 0 で始まる数字は8進数と見 なされる」ということなのだと思います。 あと、ASP なのだとは思いますが、環境ぐらいはキチンと書くようにしましょう。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 |
1