• ベストアンサー

TARGETプロパティの使用方法

こんにちは。まずは下のサンプルをご覧下さい。 ------------------------------------------------- モジュール名称:call.cgi <HTML> <HEAD> <TITLE>CALL</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function op_win() { window.open( "sub1.cgi", "CHG_WIN", "scrollbars=1,status=0,location=0,toolbar=0,menubar=0,resizable=yes,height=460,width=750"); document.send.submit(); } //--> </SCRIPT> </HEAD> <BODY> <DIV ALIGN="cneter"> 下のボタンを押すと新しいウィンドウが開きます。 </DIV> <FORM NAME="fr_obj"> <INPUT TYPE="button" name="b1" onClick="op_win()"> </Form> <FORM NAME="send" METHOD="post" ACTION="sub2.cgi"> <INPUT TYPE="hidden" NAME="H1" VALUE="aaa"> <INPUT TYPE="hidden" NAME="H2" VALUE="bbb"> </FORM> </BODY> </HTML> ------------------------------------------------- 以上です。まず"call.cgi"というモジュールを動かしますと、 ボタンが表示されます。次にそのボタンをクリックすると新しいウィンドウが 表示され、そのウィンドウに"sub1.cgi"の動作結果が表示された後に、 "sub2.cgi"の動作結果が表示されます。 そこでこのサンプルを流用し、似たようなモジュールを作成したのですが、このサンプルのように 同一のウィンドウに2つのモジュールの 結果は表示されず、それぞれ別個のウィンドウが表示されてしまい、 うまく動作しませんでした。 HTMLのスペル名称が間違っていることは無く、何が原因なのか予想もつかない状態です。 みなさんは、このような現象が起きる理由っていうのは後存知ないでしょうか? ささいな情報でもいいんで、何か気づいた事があったらアドバイスの方、 宜しくお願いします。

  • yo-he
  • お礼率35% (34/97)
  • HTML
  • 回答数3
  • ありがとう数13

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

  • ベストアンサー
noname#9414
noname#9414
回答No.1

確認ですが、sub1.cgiとsub2.cgiを表示する ウィンドウの名前は、一致しているのですよね。 この場合は、ウィンドウ名CHG_WINですよね。 補足願います。 ではでは☆

yo-he
質問者

補足

えぇ、そこは間違いないですね。 windo.open関数の第2引数と送信対象タグの targetプロパティの名称は一致させてます。 宜しくおねがいします。

その他の回答 (2)

回答No.3

sub1.cgiとsub2.cgiを分ける意味合いと言うのはあるのでしょうか? sub1.cgiにふたつのフォームの値(フォームを分けないでひとつに)を送って、sub1.cgi側から、sub2.cgiへsub1.cgiのデータも含めて送れば、表示する時にふたつとも一緒に表示できると思うのですが?通常cgiはこう使うのでは?

noname#271
noname#271
回答No.2

同一の画面に出力したいなら <FORM NAME="fr_obj"> <FORM NAME="send" METHOD="post" CTION="sub2.cgi"> 上記の NAME="send" を NAME="fr_obj" に もしくは document.send.submit(); を document.fr_obj.submit(); すれば、OKかな? #ひょっとしたら、この部分を変更してたりして もし、1画面に同時に2つの結果を表示したいなら フレームを使った方がいいかもしれないですね

yo-he
質問者

補足

これっていうのは単にウィンドウ名称を変えるだけで よろしいのでしょうか? ちなみに自ても「名づけたウィンドウ名称がHTMLの 制限に引っかかっているんじゃないか?」と思って、名称を 変えたりとやってみたんですけどね... 結局はダメでした。(泣) ご解答にあったとおりにフレームにしたんですけど、 ちょっと仕様的にもムリがありましてダメなんですよ。 何か気づかれる事があったら、また宜しくお願いします。

関連するQ&A

  • window.open()で開いたウィンドウにパラメータを渡す。

    まずは下記のHTMLファイルをご覧下さい。 ------------------------------------------------- <HTML> <HEAD> <TITLE>TEST01</TEST> <ScriptLanguage="JavaScript"> <!-- function new_win() { window.open("new_win1.cgi","POPUP", "scrollbars=1,status=0,location=0,toolbar=0,menubar=0,resize=1,height=450,width=300"); } //--> </script> </HEAD> <BODY> <FORM NAME="SEND_DATA"> <INPUT TYPE="hidden" NAME="par01" VALUE="aaaa"> <INPUT TYPE="hidden" NAME="par02" VALUE="bbbb"> <INPUT TYPE="hidden" NAME="par03" VALUE="cccc"> <INPUT TYPE="button" NAME="btn01" VALUE="SEND" onClick="new_win()"> </FORM> </BODY> </HTML> ------------------------------------------------ 以上です。このHTMLファイルを動かすとボタンだけが表示されます。 そしてそこのボタンをクリックしますと、新しいウィンドウが 出力され、そこには"new_win1.cgi"の処理結果が表示されます。 そこで、そのCGIを動かす時に"SEND_DATA"というフォーム内の データも一緒に送信したいのですが、どのようにやればよろしいのでしょうか?

    • ベストアンサー
    • HTML
  • hiddenで送ったデータの取り出し方

    PerlもHTMLも初心者です。hiddenの使い方が分からないのですが、 ■sub test1 <form NAME="minshu" ACTION="test.cgi" METHOD="post"> <input TYPE="submit" > <INPUT TYPE="hidden" NAME="aso" VALUE="write"> .. ■test.cgi $hatoyama=$Form{'aso'}; と、hiddenで送った変数をtest.cgiで受け取る時、$Form{}で受け取ると決まっているのですか?$minshu{aso}とかでは受け取れないのですか? この場合、hiddenのnameはどういう役目をしているのですか? hiddenのname="minshu" とかすれば$minshu{aso}で受け取れるかと思っていたのですが、うまくいかないようなので..

    • ベストアンサー
    • Perl
  • <FORM>タグのtargetに値を書込む方法を教えて下さい

    送信ボタンを押すとtargetの値をとれず、javascriptエラーになります。 「引数は無効です」と表示されます。 SUBMITした時にmake_newwin(f)を動作しようとしているのですが、 うまくtargetが取れません。 targetには、親ウィンドウ名を書き込みたいのです。 何か良い方法ありましたら、教えて下さい。 <script language="javascript" type="text/javascript"> <!-- function make_newwin(f) { alert(f) …ここで内容を表示したところ[object]と表示されました。   var w = window.open('about:blank', f.target);    w.focus(); window.close(); } <FORM name="test" action="/cgi-bin/test.cgi" method="post" target="" onSubmit="make_newwin(this);"> <input name = "aaa" type = "hidden" value ="10000" >        : </FORM> </BODY> <script> document.test.target=opener.window.top.name; </script> </HTML>

  • INPUT上でリターンを押してもsubmitされない方法

    フォームにてキーワードを入力し、検索ボタン押したときに javascriptにて以下の動作をさせたいと思っています。  ・hidden項目に特定値をセットしてsubmitをかける 以下のコードを書いたのですが、INPUT上でリターンを押すと submitされてしまいます。 ボタン以外でリターンを押した場合に何も動作させないようにするにはどのようにすればよいのでしょうか? -------------------------------------------------------------- <SCRIPT language="JavaScript"> <!-- function javasc_name(param){ document.form.PARAM.value = param document.form.submit() } //--> </SCRIPT> <form method="POST" action="cgi-bin/xxx.exe"> <input type="text" name="KEYWORD"> <input type="hidden" name="PARAM"> <input type="button" value="検索" OnClick="javasc_name(10)"> </form> --------------------------------------------------------------

    • ベストアンサー
    • HTML
  • ニフティのメールデコードについて教えてください

    webアンケートを作るためにhttp://homepage.nifty.com/mail/sample.htm#enqueteを参考にしてみたのですが(送信ボタンを押すと)「メールアドレスが記入されていないか形式が不正です」とエラーメッセージが出てしまいます。以下の書き方で間違っている所があるでしょうか。 <HTML> <HEAD> <TITLE>質問紙のサンプル</TITLE> </HEAD> <BODY> <FORM METHOD="post" ACTION="http://mdec.nifty.com/cgi-bin/ahpmdec.cgi"> <INPUT TYPE="hidden" NAME="ok_page" VALUE="http://homepage?.nifty.com/***/***.htm"> <INPUT TYPE="hidden" NAME="to_mail" VALUE="***@nifty.com"> <INPUT TYPE="hidden" NAME="sub" VALUE="質問紙調査の結果"> 名前: <br> <INPUT TYPE="text" NAME="name" SIZE="30" MAXLENGTH="40"> <br> メールアドレス: <br> <INPUT TYPE="text" NAME="from" SIZE="25" MAXLENGTH="60"> <br> コメント: <br> <TEXTAREA NAME="body" ROWS="20" COLS="30"> </TEXTAREA> <INPUT TYPE="submit" VALUE="送信"> <INPUT TYPE="reset" VALUE="クリア"> </FORM> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • メールフォーム

    【満足できる回答に300ポイント】メールフォームをホームページに設置しました。CGIはフューチャースピリッツhttp://www.future-s.com/でお借りしました。送信ボタンを押した後、自分が指定した特定のページを表示させたいのですが、借りているところのホームページに行ってしまいます。自分の指定したページを表示させるにはどんなHTMLにしたらいいのでしょうか? 現在は下記のようなHTMLを使っています。 <form action="http://form3.future-s.com/cgi/form3.cgi" method="post"> <input type="hidden" name="formid" value="IDナンバー"> <input type="hidden" name="formsubject" value="○○"> <input type="hidden" name="formlog" value="1"> 中略 </FONT><P><FONT size="-1"><INPUT TYPE="submit" VALUE="送  信"> <INPUT TYPE="reset" VALUE="リセット"> もしHTMLが問題でないなら、下記の条件を満たすフォームを教えてください。 ・CGIを借りても広告の入らないもの ・フォームは自分で作ったものが使えること ・送信後、自分が特定したページを表示させること ・無料であること どうぞよろしくお願いします。

  • 複数のデータを1度にsubmitするには?

    HTML初心者です。 下記の様にして、1つのsbmitで複数のデータを送りたいのですが、 後のデータ1つしか送れません。どうすればできるかお教え下さい。 *あくまで1つのsbmitボタンで同じnameの複数のデータを送りたいのですが。 ------------------------------------------------ <form method="get" action="xxx.cgi"> <input type="submit" name="leave" value="退室"> <input type="hidden" name="asyuku" value="101"> <input type="hidden" name="asyuku" value="102"> </form> ------------------------------------------------ よろしくお願いします。

  • form内からリンクを使用したいのですが。。。

    いつもお世話になっております。 strutsを使用して、画面遷移を行おうとしています。 form内からボタンを使用してなら、リンクを行うことは出来るのですが、普通のリンク(HTMLだとA HREF)で表示させたいのですが、うまくいかず、WEBでも見つけることが出来なかったので、質問いたしました。 下記ソースです。 <html:form action="/category"> <html:submit property="submit"><%=strC_name%></html:submit> <input type="hidden" name="c_no" value="<%=numC_no%>"> <input type="hidden" name="c_name" value="<%=strC_name%>"> </html:form> どなたか解決方法が分かる方、ご教授願います。

  • ランダムリンクでリンク先を別ウィンドウに表示したい

    <form action="http://mkt.fem.jp/randomlink.cgi" method="get"> <input type="hidden" name="mode" value="link"> <input type="hidden" name="x" value="http://www.yahoo.co.jp/"> <input type="hidden" name="x" value="http://www.odn.ne.jp/"> <input type="hidden" name="x" value="http://www.bbiq.jp/"> <input type="hidden" name="x" value="http://www.ntt-west.co.jp/"> <input type="hidden" name="x" value="http://www.nttdocomo.co.jp/"> <input type="submit" value="タイトル~ランダムリンクだよ"></form> わかりやすい様にリンク先URLに差し支えのないものを入れました。 <input type="hidden" name="x" value="リンク先URL"> これを追加するだけでランダムリンク先は増えていきます。 質問ですが、これを表示させればリンク先は別ウィンドウにはなりません。今回は、リンク先を別ウィンドウに表示したいのです。 HTMLのどこを変えればいいのか、貼っていただけないでしょうか?

  • 画面全体に表示したい!

    まずは、下のソースをご覧下さい。 ------------------------------------------------- ファイル : sample1.htm <HTML> <HEAD><TITLE>CALL</TITLE></HEAD> <BODY> <a href="sample2.htm">フレーム分割</a> </BODY> </HTML> ------------------------------------------------- ファイル : sample2.htm <HTML> <HEAD><TITLE>MAIN_FL</TITLE></HEAD> <FRAMESET ROWS="64,*,64"> <FRAME SRC="top_frame.cgi" NAME="top" TARGET="A1"> <FRAMESET COLS="540,*"> <FRAME SRC="left_frame.cgi" NAME="right" TARGET="A2"> <FRAME SRC="right_frame.cgi" NAME="left" TARGET="A3"> </FRAMESET> <FRAME SRC="und_frame.cgi" NAME="under" TARGET="A4"> <NOFRAMES><BODY>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</BODY></NOFRAMES> </FRAMESET> </HTML> ------------------------------------------------ "und_frame.cgi"を実行した後、表示されたHTML <HTML> <HEAD><TITLE>UNDER_FRAME</TITLE></HEAD> <BODY> <FRAME NAME="BACK_TOP" METHOD="POST" ACTION="sample1.htm" TARGET=> <INPUT TYPE="HIDDEN" NAME="H1" VALUE="AAA"> <INPUT TYPE="HIDDEN" NAME="H2" VALUE="BBB"> <INPUT TYPE="SUBMIT" NAME="S1" VALUE="トップへ"> </FORM> </BODY> </HTML> ------------------------------------------------ 以上です。これを実行しますと4つのフレームに分割されまして、 一番下のフレームには「トップへ」というサブミットボタンが表示されます。 そこでボタンを押されたら一部のフレームだけじゃなく、 画面全体を"sample1.htm"を実行した画面に遷移したいのですが、 どのようにやればよろしいのでしょうか?

    • ベストアンサー
    • HTML