• ベストアンサー

ポップアップ ウインドウ

SQL、ASPで OKWEBの様なウェブサイトを作っています。 strSql="Select top 5 title,cl_id from Classifieds order by date_entered DESC;" として、最新のもののタイトルを表示するようにしました。 このタイトルとクリックすると、詳細が見れる新しいウィンドウをひらきたいのですが、、、。 Response.write "<a target=_new href=http://localhost/explorer/cgi-bin/Show_more_Classifieds.asp?id="&RS("cl_id")&"><b>"&rs("title")&"</b></a><br>" とすると、画面いっぱいに開かれてしまうのですが、 サイズを指定して開きたいのです。 そこで、JavaScriptを使おうと思ったのですが、うまくいきません。 アドバイスお願いします。

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

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

<a href=window.open... を、 <a href=javascript:window.open... にしてみてください。 あとはダブルコーテーションとカンマの入れ方がおかしいかも。 関数にするとわかりやすいですよ。 <SCRIPT LANGUAGE = "JavaScript"><!-- function WinOpen (URL) { subWin = window.open(URL,"","width=250,height=140,scrollbars=no"); } //--></SCRIPT> <A HREF="javascript:WinOpen('test.html')">test</A>

その他の回答 (2)

  • onimotsu
  • ベストアンサー率36% (279/758)
回答No.2

クリックしてサブウィンドウを開くはこちらが参考になると思います。 http://www.openspc2.org/reibun/javascript/mouse/001/index.html サイズを指定する場合はこちら↓ http://www.openspc2.org/reibun/javascript/sub_window/004/index.html ファイル数が多い場合などは外部ファイルを使用した方が とても便利だと思います。 外部ファイル使用時の記述はこちら↓ http://www.openspc2.org/reibun/javascript/kihon/002/index.html この辺りも参考にしてください。↓ http://tohoho.wakusei.ne.jp/js/index.htm

参考URL:
http://www.openspc2.org/reibun/javascript/mouse/001/index.html
nemuxin
質問者

お礼

ありがとうございます! 実は、Scriptを書くときに、紹介していただいた所参考にさせていただいていました。 それなのにできない私って、、、、、。 勉強不足ですね。

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

どのようにしてうまくいかなかったのでしょうか? JavaScriptで新しいWindowを開くにはWindow.openメソッドを使います。 w=window.open("test.html", "Test", "width=200,height=200");

nemuxin
質問者

補足

返信ありがとうございます。 Response.Write "<a href=window.open("http://localhost/explorer/cgi-bin/Show_more_classifieds.asp? id=" & rs("cl_id") & "","width=250,height=140,scrollbars=no")> " & rs("title") & "</a>" です。 説明不足ですみませんでした。 いろいろサイトをまわって勉強したのですが、 普通のHTMLのページを開くのはうまくいくのですが、 ASPだと、ひらかないんです。 お手数掛けますが、よろしくお願いします。

関連するQ&A

  • DBからPDFを取得して別画面で表示したい

    あるページにリンクが貼り付けてあります。 このリンクをクリックすると、 DB(SQL Server)からPDFファイルを取得し 別画面で表示するようにしたいと思っています。 ソースは下記のように書きました。 画面側(XXX.asp) <a href="../common/AAAAA.asp" target="_blank"><img src="images/banner.jpg" border="0" /></a> 呼び出され側(AAAAA.asp) Dim st Dim imgdata Dim rs Dim strSQL Dim column strSQL = "SELECT ファイル " strSQL = strSQL & "FROM 画像 " strSQL = strSQL & "WHERE ファイル名 = 'ファイル名' " 'レコードセット Set rs = querySql( conn, strSQL )     imgdata = rs.fields("ファイル").value Response.ContentType = "application/pdf" Call Response.AddHeader("Content-Transfer-Encoding", "binary") Call Response.AddHeader("Cache-Control", "no-cache") Call Response.AddHeader("Pragma", "no-cache") Call Response.BinaryWrite(imgdata) このようにすると画面には表示されるのですが IE7で表示したときのタブの部分は どうやったら指定できるのでしょうか? 「PDFファイル」と表示させたいです。 よろしくお願いします。

  • 教えて下さい。

    ASP初心者です。検索結果で表示された複数のデータ行を、同じテーブルに再度コピーするにはどうしたらいいのでしょうか?DBはORACLEを使用しています。 sql="SELECT a.FLAG_ID,a.KZU_ID,b.SIZE_ID,b.BU_CODE,b.SYUBETU,b.ZU_NAME,b.KATASHIKI,a.SURYO,a.BIKOU,a.KZURA_ID,a.RIRA_ID,a.OZU_ID,a.OZURI_ID,b.ZU_ID,a.SASHI_ID,a.EDA_ID FROM DRRIST a,DRDAICYO b" sql=sql & " where a.OZU_ID='" & zkzu_id1 & "' and a.OZURI_ID = " & raireki & "" sql=sql & " and a.SASHI_ID='" & sashi_id & "' and a.EDA_ID = " & eda & "" sql=sql & " and a.KZU_ID= b.ZU_ID" sql=sql & " order by a.FLAG_ID asc" set rs = oraDb.DbCreateDynaset(sql,clng(0)) if err.Number <> 0 then Response.Write MSG003 & "<BR>" Response.Write err.Description & "<BR><BR>" end if Response.Write "現在の登録状況" Response.Write "<table border=1>" Response.Write "<tr>" Response.Write "<TR><TD>順序</TD><TD>図面番号</TD><TD>サイズ</TD><TD>分類コード</TD><TD>種別</TD><TD>名称</TD><TD>型式</TD><TD>単数</TD><TD>備考</TD><TD>来歴</TD><TD>" cnt=0 Do While Not rs.EOF if RIGHT(cnt/1,1)=".2" then Response.Write "<tr BGCOLOR=""#F5F5F5"">" else Response.Write "<tr>" end if For iintLoop = 0 to rs.Fields.Count - 7 Response.Write "<td>" & rs(iintLoop )& "</td>" Next rs.DbMoveNext cnt=cnt+1 Loop Response.Write "</FORM>" Response.Write "</table>" ここで、表示された複数のデータ行を再度同じテーブル(DRRIST)にコピーしたいのですが、どのようにして行ったらよいかわかりません。何卒、ご教授宜しくお願いします。

  • コンボボックスと連携したグリッドビュー

    コンボボックスには 先頭が""で続きにデータが入っています。 下記のようにすると""が選択できないようです。 うまいことやる方法はありますでしょうか? そもそもDBをバインドさせたコンボボックスの先頭に どうやったら""が表示させられるのかわからないのですが・・・ strSql = "SELECT A.名前 " strSql = strSql & ", B.番号" strSql = strSql & "FROM A,B " strSql = strSql & "WHERE A.ID = B.ID " strSql = strSql & "AND A.ID = @ID" cmd.Parameters.Add("@ID", SqlDbType.Int) cmd.Parameters("@ID").Value = Me.ComboBox1.SelectedValue

  • クエリの遅さの原因

    下記のクエリーをそれぞれ試してみたところ、圧倒的に下の方が遅くなってしまいました。 $rs = mysql_query("select * from A INNER JOIN B ON B.cat = A.id order by B.id desc LIMIT 1, 10 ;",$con); $rs = mysql_query("select * from A INNER JOIN B ON B.cat = A.id where B.name is not null group by B.area order by B.id desc LIMIT 1, 10 ;",$con); where B.name is not null group by B.area この処理はそれほど負荷が掛かってしまうのでしょうか。 他に良い書き方(方法)がありましたら教えてください。

    • ベストアンサー
    • MySQL
  • SQLServerにodbcで接続

    こんにちは。 WindowsServer2003でIIS・SQLServer・ASP(VBScript)を使って簡単なデータベースを作りたいのですが、いきないつまずいています。 testデータベースをSQLServerで作り、ODBCに【odbcsqlsv】と登録しました。 ASPスクリプトを <%@ Language=VBScript %> <html> <head> <title>動作テストHTML</title> </head> <body> <% Response.Write "テストーASP" Set cn = server.CreateObject("ADODB.Connection") StrCn ="odbcsqlsv" cn.Open StrCn strSQL = "SELECT * FROM table2" Set RS = cn.Execute(strSQL) Do While Not RS.EOF Response.Write RS.fields("name") RS.movenext Loop cn.close set cn = nothing %> </body> </html> を書き実行すると Microsoft OLE DB Provider for ODBC Drivers エラー '80040e4d' [Microsoft][ODBC SQL Server Driver][SQL Server]ユーザー '(null)' のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。 とエラーが出ます。 SQL Serverの信頼関係接続とは何でしょうか? また関連付けはどのようにして行ったらよいのでしょうか? すみませんが、ご教授のほどをよろしくお願いします。

  • "カレントレコードがありません"とでてきます

    Access97を使用しています。 データは テーブルAの項目B、項目Cが下記のようにあるとします。 フォーム上のText"B"に項目Bを入力します。 項目B 項目C 11 a 11 b 22 aa 22 bb 22 cc 33 aaa 33 ccc この時 Set DB = CurrentDb() strSQL = "SELECT * FROM A WHERE " strSQL = strSQL + "B='" & Me.B & "';" Set RS = DB.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly) RS.MoveFirst RS.MoveLast m = RS.RecordCount For i = 1 To m COIL_N = RS.Fields("C") Call RS.MoveNext Next i 上記のようなモジュールですが、例えば 項目Bの"11"を選んだ時、項目Cの二番目のデータbが 取得できません。 "カレントレコードがありません"とでてきます。何故でしょうか?

  • ASP + SQLにて

    お世話になっております。 このたびASPを使用し、SQL Serverへデータをいれ管理プログラムを作成しているのですが、一部データの取り出しがわからないのでご質問させていただきます。 SQL文を発行する際に、 strSQL = "select * from table1 left join table2 on table1.社員ID = table2.ID order by table1.ID desc" としております。 構造として table1にはID,日付,内容,社員IDがありまして table2にはID,社員名があります。 上記のSQL文を実行し、 <% response.write objRS("社員名") %> として社員名を出力しているのですが、 そのときtable1のIDを出力しようとして <% response.write objRS("ID") %> としたらtable2のIDが出力されてしまいました。 table1のIDを出力する方法はないのでしょうか? よろしくお願いいたします。

  • タイムアウトして表示できません

    以下を実行すると数分かかった挙句タイムアウトします。 どう改善すれば表示できるでしょうか? IIS 5.1 SQL Server 2005 DBへの接続はconfig.aspで設定してあり、以下とは別のスクリプトの時にconfig.aspを読み込んでのDB接続はできています。 <!--#include file="config.asp" --> <table> <tr> <td><span><b>最終10ログイン</b></span></td> </tr> <tr> <td><span>名前</span></td> <td><span>ログアウト時間</span></td> </tr> <% set rs = Server.CreateObject("ADODB.recordset") sql="select top 10 * from テーブルA, テーブルB where テーブルB.列A=0 AND テーブルA.Id=テーブルB.列1 order by 列B desc" rs.open sql,conn,1,1 do while not rs.eof %> <tr> <td height="19" align="middle"><%=rs("列2")%></td> <td align="middle"><%=rs("列B")%></td> </tr> <% rs.movenext rs.close loop set rs=nothing %>

  • MYSQLでの条件検索ORを使って・・・

    MYSQLを使って、条件つきの検索をしたいのですが、下記のSELECT文を使って、検索をしています。 下記のser_table.group_idが01のものと、04のものを両方とってきたいのですが、うまくできないので、教えていただけないでしょうか? $STRSQL=qq{SELECT }; $STRSQL=$STRSQL.qq{awaytable.iput_charg_id, awaytable.number, awaytable.total_day, awaytable.news_comp, awaytable.news_title, awaytable.news_content, awaytable.URL_news, awaytable.news_gif }; $STRSQL=$STRSQL.qq{FROM awaytable, ser_table }; $STRSQL=$STRSQL.qq{WHERE ser_table.iput_charg_id = awaytable.iput_charg_id }; $STRSQL=$STRSQL.qq{AND ser_table.iput_charg_id <> '995' }; $STRSQL=$STRSQL.qq{AND ser_table.group_id = '04' }; $STRSQL=$STRSQL.qq{AND ser_table.group_id = '01' }; $STRSQL=$STRSQL.qq{ORDER BY awaytable.total_day DESC }; $STRSQL=$STRSQL.qq{LIMIT $pos,$pagesize };

  • データ受け渡し時のSessionの使い方

    いつもお世話になっております。 現在A.aspからB.aspにデータを渡したいと考えています。 Sessionを用いてA.asp上のリンクからClickする箇所によって引数をかえて、Bに渡したいのですが、Aの最下層に書かれたSessionのみが渡る状態です。 (下記の例で言うと、どれをクリックしても333が表示されます。) 簡単で申し訳ありませんが、下記にソースを書きます。 何かお気づきの点があれば、ご教授ください。 宜しくお願い致します。 ※A.aspの内容 <% session("key") = "111" Response.Write "<a href=""B.asp""> データ1</a>" %> <% session("key") = "222" Response.Write "<a href=""B.asp""> データ2</a>" %> <% session("key") = "333" Response.Write "<a href=""B.asp""> データ3</a>" %> ※B.aspの内容 <html> <head> </head> <%Response.Write session("key")%> </HTML>

専門家に質問してみよう