プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
今PerlでLocationを使って2つに分かれているフレームの(frame1とframe2)frame1にリンクをさせようとしています。
下のソースの中にTarget="frame1"を追加したいのですが追加は可能でしょうか?
プログラムはこんな↓感じです。
print "Location: http://www.XXX/cgi-local/XXX.cgi?free=$XX\n\n";

ご教授ください。よろしくお願いします。

A 回答 (2件)

フレーム内で移動する場合はそのフレーム名またはターゲット名を指定してください。



self.location.href="http://www.aaa.aa.aa";

selfはそのページがあるフレーム自身のことです。
もしくは移動するフレーム名を設定してください。
サブミットと書かれているのでフォームのデータを送るのでしょうか?
その場合、上記の方法では出来ません。
遷移先にデータを送る場合はフォームのaction指定を動的に変えれば出来ます。
その例を載せておきます。

例)

<HTML>
<HEAD>
<SCRIPT>
function send(){
//どのラジオボタンがチェックされたか判定
var i;
if (document.form_a.r_b.length) {
for (i = 0; i < document.form_a.r_b.length; i++) {
if (document.form_a.r_b[i].checked) {
var ck_b = document.form_a.r_b[i].value;
}
}
} else {
if (document.form_a.r_b.checked) {
var ck_b = document.form_a.r_b.value;
}
}

//チェックされたボタンから遷移先を分ける
if(ck_b=="A"){
document.form_a.action="URL1";//FORMのaction設定
document.form_a.submit();//submit処理
}else if(ck_b=="B"){
document.form_a.action="URL2";//FORMのaction設定
document.form_a.submit();//submit処理
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM name="form_a" method="POST" target="_self">
<INPUT type="radio" name="r_b" value="A" checked>A
<INPUT type="radio" name="r_b" value="B">B
<INPUT type="button" value="SUBMIT" onClick="send()">
</FORM>
</BODY>
</HTML>
    • good
    • 0

未確認ですが、



print"Window-target:フレーム名(ターゲット名)";

これで出来るそうです。
ただしネットスケープ限定だそうです。

IEでは基本的に出来ないようです。
他の方法としてはJavaScriptに処理を飛ばしてフレーム指定して遷移するか、
フレームページごと読み込むことぐらいですね。
どちらもご希望の動作とは異なると思いますが・・・。

この回答への補足

ラジオボタンを選択して、ラジオボタンが選択物によって最後にサブミットボタンを押した時に違うリンク先へ飛ばす方法をいろいろと考えていました。

考えた末にジャバスクリプトでリンク先を違う方法に変える事にしました。

ステップ1として
サブミットが押された時点でリンクさせる方法を試みましたが同じページを読み込んでしまいます。
サンプルは下記の通りです。
location.href="http://www.aaa.aa.aa"

どうかうまくいく方法を教えて頂けないでしょうか?
お願いします。

補足日時:2002/08/08 11:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!