別ウィンドウのフレーム内URLへフォーム内容を引き継ぐ
[上に]
[前に]
[次に]
蓮子
[E-Mail]
2000/02/18(金) 11:28:47
ウィンドウAにフォームが有り、送信すると別ウィンドウBを開きます。
Bは2フレーム分割でURL-1とURL-2を表示します。
Aの入力内容をURL-1とURL-2に引き継ぐにはどうしたら良いでしょうか?
なるべく一般的でスマートな方法が欲しいです。よろしくお願いします。
Aurai
[E-Mail]
2000/02/18(金) 13:37:11
まず思いつくのはGETの値を引き継いでCGIで取り出すことでしょうか
他にはJavaScriptを利用してURLからGETの値を抜く方法か
その場合はSubmitする前にencodeしてやらないと
IEなんかがめちゃくちゃなdecodeしてしまうので注意です
下のURLのサンプルスクリプトを参考にどうぞ
http://www.fureai.or.jp/~yomorita/sand/webmake/javascript/fake-submit.htm
あはは
2000/02/18(金) 13:49:39
やり方分からんけどクッキーとか使えんのかな?
私も知りたいッス。
蓮子
2000/02/18(金) 16:18:54
ありがとうございます。
でもちょっと難しくてわからないので教えていただいた方法と
APを他の仕様でできないかを調べてみます。
そもそも親ウィンドウAと子ウィンドウBは関係が有るけれど、
Aと、Bフレームの内容であるURL1とURL2とは無関係だから
簡単にできないのでしょうか?
Auraiさんのサンプルはエンコードの部分のサンプルですよね。
ばーばぱぱ
[E-Mail]
[HomePage]
2000/02/18(金) 16:25:08
クッキーで出来ると思いますよ。
<INPUT type="button" name="btn" value="ボタン" onClick="Idou()>
ボタンをクリックしたら別のページにいく。
function Idou(){
document.cookie="flag1"+"="+"a"
document.cookie="flag2"+"="+"b"
window.top.location.href='hogehoge.htm'
}
hogehoge.htmがフレームを使っているページ
URL−1のページに
function hantei(){
str=getCookie("flag1");
}
URL−2のページに
function hantei(){
str=getCookie("flag1");
}
をOnload時に行えば値を取得できる。
違ってたらごめんなさい。
蓮子
2000/02/18(金) 16:38:50
ありがとうございます。クッキーも考えてみます。
クッキーでやるとしたらデータの信頼度はどうなのでしょうか?
引き継ぐデータは全ての処理のキーになるものなので……。
同じPCの別のウィンドウB’で同じ処理を行っている場合、
それらをどうにかして判別できますか?
(ものすごく初歩的な質問でしょうか、すみません)
Aurai
[E-Mail]
2000/02/18(金) 17:03:46
……こんなのですか?
http://www.fureai.or.jp/~yomorita/sand/webmake/javascript/fake-submit-v2.htm
たかぴー
2000/02/18(金) 17:58:06
ぜんぜんスマートじゃなくてもよければ
function linkDiv() {
w = window.open();
w.document.open();
w.document.writeln('<HTML>');
w.document.writeln('<FRAMESET ROWS="*,*">');
w.document.writeln('<FRAME SRC="A1.html?arg='+document.F1.T1.value+'" NAME="A1">');
w.document.writeln('<FRAME SRC="A2.html?arg='+document.F1.T2.value+'" NAME="A2">');
w.document.writeln('</FRAMESET>');
w.document.close();
蓮子
2000/02/18(金) 18:35:54
[[解決]]
>Auraiさん たかぴー さん
ありがとうございます。結局エンコードしてURLにくっつけて引き継ぐのが良いみたいですね。
たかぴーさんの方法だとURLにコードが表示されなくなるのかな??
まだ実現してないですが頑張ってやってみます。助かりました。
[上に]
[前に]
[次に]