インラインフレーム内を送信する方法とは?

このQ&Aのポイント
  • インラインフレーム内(test.asp)で送信して、main.aspに情報を引き渡す方法について教えてください。
  • 現状、インラインフレーム内にmain.aspの内容が表示されてしまう状況です。
  • 何か解決策や改善方法があれば教えてください。
回答を見る
  • ベストアンサー

インラインフレーム内を送信する

インラインフレーム内(test.asp)で送信して、main.aspに情報を引き渡したいのですがうまくいきません。 現状、下記のようなかんじで実行するとインラインフレーム内にmain.aspの内容が表示されてしまいます。 /* main.asp */ <IFRAME src="test.asp"></IFRAME> /* test.asp */ <SCRIPT LANGUAGE="JavaScript"> function change(num){   document.form_1.action="main.asp?no=<%=num%>";   document.form_1.submit(); } </SCRITP> <BODY> <FORM name="form_1"> <TABLE> <TR id="t1" onClick="change(1)"> <TD align="center">1</TD> <TD align="center">aaaaaa</TD> <TD align="center">bbbbbb</TD> </TR> </TABLE> </BODY> どのような状況か伝わりにくいと思いますが、何かよい方法があればよろしくおねがいします。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

main.asp が表示されているウィンドウの名前を、インラインフレームで表示されているページの form の target に指定してください。 もし、main.asp のウィンドウに名前がついていない場合には、名前をつけてあげる必要があります。 例えば、main.asp の適当なところで   self.name = "main_page";  // 適当に名前をつける と名前を付けて、インラインフレームの form の方では、   <form name="form_1" target="main_page" …> というふうにターゲットを指定します。 # JavaScript は、ある程度分かっているのですよね?

snowsaab
質問者

補足

># JavaScript は、ある程度分かっているのですよね? 実は、まだまだ勉強不足でよくわかっていないのです・・・(;。;) とりあえず、main.aspの一番最初に <SCRIPT LANGUAGE="JavaScript"> <!--   self.name = "main_page";  // 適当に名前をつける >-- </SCRIPT> としてみましたが、 『文字が正しくありません』 というエラーがでてきてしまいます。 書き方がわるいのでしょうか?

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

> 『文字が正しくありません』 > というエラーがでてきてしまいます。 そのまま、コピったのね。見やすいように、スペースに全角の空白を使ってます。 それが「正しくない文字」です。半角の空白かタブにしてください。 後、スクリプトを閉じる注釈記号が間違ってます。 > 実は、まだまだ勉強不足でよくわかっていないのです・・・(;。;) 仕事で ASP や JSP をやるときは、それだけの知識で済むことは、まず無く、Javascript や CSS について かなりの知識を要求されることがしばしばあります。 適当に暇を見つけて、たいした本じゃなくてもいいから、何かを読んでおいた方が良いですよ。

snowsaab
質問者

お礼

a-kumaさんのおっしゃる通りなんですよね。。。 実際、これを仕事にしているのですから、かなりの知識が必要だと思います。(反省) はい、注釈記号が間違っておりました(^-^; 後、やっぱり、 self.name="main_page"; ではエラーがでてしまいます。(空白も削除してみました。) そこで、 window.name ="main_page"; でやったところ、名前をつけることができましたので、こちらでやりました。 ありがとうございましたm(__)m

関連するQ&A

  • インラインフレーム内へのリンク

    質問させて頂きます。 インラインフレーム内へのリンクが上手くいかなくて困っています。 name="main" でインラインフレームに名前を付け、外部からはtarget属性でtarget="main"と指定してリンクをはっているのですが、どういうわけだか新しいウインドウが開いてしまいます。 ソースをのせておきますので、どこがいけないのか御指導頂けないでしょうか。お願い致します。(暫定的にYAHOO!にリンクさせています) 以下ソース↓ <html> <head> <title>インラインフレーム</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body bgcolor="#FFFFFF"> <table width="500" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td height="17"><a href="http://www.goo.ne.jp" target="main">YAHOO!</a></td> </tr> <tr> <td height="300"><iframe border="0" frameborder="0" marginheight="0" marginwidth="0" name="main" scrolling="yes" style="border:solid 1pt cc0000" src="http://www.yahoo.co.jp" width="500" height="300"></iframe></td> </tr> </table> </body> </html>

    • ベストアンサー
    • HTML
  • インラインフレームの表示方法

    少し前からホームページを作成しようとしているのですが、 テーブル内にインラインフレームを入れたところ、safariでインラインフレームが表示されませんでした。 これはsafari自体の使用のせいなのでしょうか? それとも私のsafariの設定の問題なのでしょうか? ちなみにIEやOperaだと正常に表示されます HTMLを抜粋すると <HTML> <HEAD> <TITLE>テスト</TITLE> </HEAD> <BODY> <table border="1" style="width:100%;height:100%;" cellpadding="5" cellspacing="0"> <tr><td> <div style="top:0px;left:50px;" > <table align="right"width="100%" height="100%"><tr><td> <iframe src="home.html" name="main-window" frameborder="0"width="100%" height="100%" scrolling="out"><p>インラインフレームを使用しています。見るにはインラインフレームをサポートしているブラウザが必要です。</p></iframe> </td></tr></table></div> </td></tr> </table> </BODY> </HTML> となっています。 本来はページを上下3段に分け真ん中の段にインラインフレームを入れようとしています。 どうかお力添えをお願いします。

    • ベストアンサー
    • Mac
  • 画像をクリックして別の画像を表示させたい

    現在HPで親ページから、サブウインドウで画像を表示させるアルバムを作っています。 そのサブウインドウをクリックすると別の画像を表示させたいと思い、下記のように記述したのですが、画像がまったく変わりません。 (下記のページはalbum01です。クリックしたら album02を表示させたいと思っています。) ----------------------------------------------- HEAD部に記述 <script language="JavaScript"> <!--num=0; function change() {num++; num %= 5; document.myIMG.src = "../img/album02.jpg"; } // --></script> BODY部に記述 <body> <table width="300" border="0" cellspacing="2" cellpadding="0"> <tr> <td> <a href="javaScript:change()"> <img src="../img/album01.jpg"name="album01"border="0"></a></td> </tr> <tr> <td> <div align="center">□画像をクリックすると、次の画像も見られます□</div> </td> </tr> </table> <div align="center"></div> </body> -------------------------------------------- 写真は全部で5枚です。今後増やしていきたいと思っています。 javascriptのことはわからないので、どこがどう間違っているのかわかりません。 表示されるようにするにはどのようにしたらいいですか? 使用OSはWin98、ブラウザはIE6.0です。 よろしくお願いします。

  • インラインフレームがうまく表示できない

    初心者のためうまく説明できないかもしれませんが、よろしくお願いします。 インラインフレームを使ったページを作りました。 Firefoxでは思った通りに表示できたのですが、Safariで見てみると設定したサイズになっておらず、縦横ともにスクロールバーが出ています。 色々試してみましたが解決できませんでした。 お力を貸してください。 以下抜粋ですが、 <td width="550"height="500" align="left" valign="top" nowrap="nowrap"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <iframe src=" ""link1.html""link2.html""link3.html"width="550" height="500"name="link"frameborder="0"scrolling="auto"></iframe> </td> としてあります。

    • ベストアンサー
    • HTML
  • POSTによるファイル・アップロード、ファイルが2回送信される。

    POSTによるファイル・アップロード、ファイルが2回送信される。 <form method="POST" action="file_up.cgi" enctype="multipart/form-data" target="_blank"><table width="650" border="0" cellspacing="3" cellpadding="3" bgcolor="#AAAAFF" align="center"> <tr align="center"><td colspan="2"><b>ファイル・アップロードのサンプル(実験中!)</b></td></tr> <tr><td align="right">ファイル名:</td><td align="left"><input type="file" name="NAME" style="background-color:aqua"></td></tr> <tr><td></td><td><input type="submit" value=" 送信 "><input type="reset" value="クリア"></td></tr></table></form></body></html> 参照ボタンでファイルを選択し、「送信」し、サーバー側でメッセージ・ボディーを見ると選択したファイルが2回送られてきています。 全く無駄な送信だと思うのですが、何か設定があるのでしょうか? それとも仕様でしょうか? 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • HTMLのリンクアンカーがおかしい???

    開発中にふと気が付いたことなのですが、以下のソースをブラウザ(IE5.0)で表示すると、aaaだけ、TABLE内のアンカーの左右でもリンクするようになってしまうのですが、なぜなのでしょうか??? <html> <head></head> <body> <table border=0 cellpadding=3 width=730> <tr><td align=center><a href="help_10.asp" target="right"><h2>aaa</h2></a></td></tr> <tr><td align=center><a href="help_20.asp" target="right"><h2>bbb</h2></a></td></tr> <tr><td align=center><a href="help_35.asp" target="right"><h2>ccc</h2></a></td></tr> </table> </body> <html>

  • インラインフレームについて

    限界です。どなたかお願いします! Dreamweaver使用でHP作っています。 1.width=700 height=500のテーブル内に、CSSスタイルで薄いグラデーションイメージの背景。テーブル上下に全ページ共通のボタンあり、これをベース(テンプレート?)にしたい。 2.同じ場所に文章をはめ込みたいのでiframeがよいと考えた。 3.フレームはテーブル中央(上下ボタンの間)右よりで、ボーダラインなし、文章が短い場合はスクロールもなしにしたい。 4.インラインフレームを使っても背景は変わらず表示したい。 ということができません。特にフレームが左に寄ってしまいます。 参考までにHTMLコピーしてみました。どうぞ宜しくお願いします。 <table width="680" border="1" height="400"> <tr bordercolor="#CCCCCC"> <td valign="top" width="680" height="400"> <table border="0" height="10"> <tr> <td height="15"><font color="#808080"><a href="1.htm"><font size="-1">> 1</font></a>    <a href="2.htm"><font size="-1">> 2</font></a>    <a href="3.htm"><font size="-1">> 3</font></a> </font></td>   </tr> <tr> <IFRAME SRC="文書.htm" WIDTH="550" HEIGHT="300" align="right" FRAMEBORDER="0" NAME="文書" SCROLLING="no" ></IFRAME> </tr> </table>

    • ベストアンサー
    • HTML
  • 動的に作成したテキストボックスの値をaspへ

    いつもお世話になっております。 javaスクリプトで動的にテキストボックスを作成し、 実行ボタンを押すと値をhiddenでtest.aspへ渡すことは可能でしょうか? 不可能であれば。。。。 test.aspへ値を渡す良い方法がありましたら、ご教示くださますようお願いいたします。 環境:IIS7.5 クラッシックASP 以下、ソースを参照してください。。。 *自宅では環境がないため、 印刷を見ながら手で入力しました。 確認して投稿しましたが。。。打ち間違い等あったらご指摘くださいませ>< --------以下ソース抜粋 addtext.asp ------------------- <script language="JavaScript"> <!-- function addDev(){ var targetName; var idObj; var tbObj; var devBlockCnt; idObj = document.getElementById("histTablebody"); tdObj = idObj.getElementsByTagName("tbody"); devBlockCnt++; targetName = "devBlock" + devBlockCnt; var mybody = document.getElementById("histTablebody"); tbcurrent_row = document.createElement("TBODY"); tbcurrent_row.setAttribute("id",targetNam); mycurrent_row=document.createElement("TR"); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); tbcurrent_row.appendChild(mycurrent_row); mycurrent_row=document.createElement("TR"); mycurrent_row.setAttribute("id",histrow1); mycurrent_cell=document.createElement("TD"); mycurrent_form=document.createElement("INPUT"); mycurrent_form.setAttribute("type","TEXT"); mycurrent_form.setAttribute("name","devEntry1"); mycurrent_form.setAttribute("id","devEntry1"); mycurrent_form.setAttribute("value",""); mycurrent_cell.appendChild(mycurrent_form); mycurrent_row.appendChild(mycurrent_cell); tbcurrent_row.appendChild(mycurrent_row); mybody.appendChild(tbcurrent_row); } //--> </script> <html> <head> <title>TEST</title> </head> <body> <div align="center"> <table border="1"> <tr> <td align="left" valign="middle">入力1</td> <td> <form name="fmDev"> <div> <table border="0" id="histTablebody"> <tbody id="devBlock1"> <tr><td></td></tr> <tr id="histrow1"> <td><input type="text" name="devEntry1" id="devEntry1"> </td> </tr> </tbody> </table> </div> <table> <tr><td><input type="button" id=addDevid value="追加" onClick="addDev();"> </td> </tr> </table> </form> </td> </tr> <form name="fmHoki"> <tr> <td align="left" valign="middle">入力2</td> <td align="left"><textarea row="5" name="hokiTXT" cols="60"></textarea></td> </tr> </form> </table> </div> <teble border="0"> <tr> <form action="test.asp" method="post" name="fm2"> <tr><input type="submit" value="登録実行" alt=""></td>     <input trype="hidden" name="hokiTXT"> </form> <form name="fm3"> <td><input type="button" value="戻る" onclick="location.href='menu01.asp';"></td> </form> </tr> </teble> </body> </html> <SCRIPT LANGUAGE="vbscript"> '--------------------------------------- ' test.asp へ行く前の処理 '--------------------------------------- Sub fm2_OnClick() Dim i Document.fm2.hokiTXT.value = Document.fmHoki.hokiTXT.value  '--ここで動的に作成したテキストボックスの値をtest.aspへ渡す処理が  'わかりません。。。。。  'debug確認用 ↓ for i=0 to document.fmDev.length msgbox document.fmDev.element(i).name,,"test" msgbox document.fmDev.element(i).value,,"test" next End Sub </SCRIPT>

  • javascriptで指定するtrを削除した時に、IEとfirefoxで動作が異なる

    はじめて、投稿いたします。 現在、javascriptで指定した行を削除するような動作を作っているのですが、firefoxとIEで動作が異なってしまうため困っています。 ちなみに、firefoxでは、実現してほしい動作をしてくれるのですが、IEではうまく動作してくれません。 tableのtrが3つ以上ある場合は、指定した行が正常に削除します。 しかし、IEだと、trが2つの時には、1番目のtrを削除しようとすると、一緒に2番目のtrの中身が見えなくなってしまいます。 ちなみに、その中の情報が削除されたのかなと思い、alertで表示させるとどうやら削除はされておらず、表示しなくなってしまうようです。 どうすれば、firefoxとIEで、同じような動作をするようにできるのでしょうか? よろしくお願いします。 以下に、ソースを貼っておきます。 <html> <head> <script type="text/javascript"> <!-- function delete_tr(html_this) { var TR = html_this.parentNode.parentNode; TR.parentNode.deleteRow(TR.sectionRowIndex); var table = document.getElementById('test_table'); var tr_num; var td_num; for (tr_num = 0; tr_num < table.rows.length; tr_num++) { for (td_num = 0; td_num < table.rows[tr_num].cells.length; td_num++) { alert(table.rows[tr_num].cells[td_num].innerHTML); } } } --> </script> </head> <body> <h1>Hello World !!</h1> <table border="1" id="test_table"> <tr> <td> <input type="button" value="delete" onClick="delete_tr(this)" /> </td> <td style="display: none;">------ bbbb ------</td> <td>------ cccc ------</td> </tr> <tr> <td> <input type="button" value="delete" onClick="delete_tr(this)" /> </td> <td style="display: none;">------ BBBB ------</td> <td>------ CCCC ------</td> </tr> <tr align="center"> <td colspan="3"> <input type="button" value="add"> </td> </tr> </table> </body> </html>

  • safariで特定条件下でデーブル幅が効かなくなります

    safariでcolspanでセルを結合し、その中に大きい要素(下の例ですとwidth500pxの画像や、文字数60のテキスト領域)を入れると、他の行の幅が変わってしまいます。 スタイルシートでtd幅を指定してやったりしてみたのですが、どうしても幅が変わってしまいます。 何か解決方法等ございましたら、ご教授願います。 <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="20%" align="center" bgcolor="#99FFFF">20%</td> <td width="80%" align="center">80%</td> </tr> <tr> <td colspan="2" align="center" bgcolor="#FFCCCC"><img src="http://cmm001.goo.ne.jp/img/sn/sn_50.gif" width="500" height="24"></td> </tr> </table> <br> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="20%" align="center" bgcolor="#99FFFF">20%</td> <td width="80%" align="center">80%</td> </tr> <tr> <td colspan="2" align="center" bgcolor="#FFCCCC"><form name="form1" method="post" action=""> <textarea name="textarea" cols="60"></textarea> </form> </td> </tr> </table> <br> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="20%" align="center" bgcolor="#99FFFF">20%</td> <td width="80%" align="center">80%</td> </tr> <tr> <td colspan="2" align="center" bgcolor="#FFCCCC">&nbsp;</td> </tr> </table>

    • ベストアンサー
    • HTML