submit→別ウィンドウを開き、フォームの入力を引き渡し

[上に] [前に] [次に]
蓮子 [E-Mail] 2000/02/24(木) 22:36:27
親ウィンドウから、子ウィンドウにフォーム内容を渡したいのですが、
入力フィールドが多いため、URLの後ろにくっつける方法以外で
実現できるでしょうか?

<FORM TARGET="あ" ACTION="い.cgi">
<INPUT NAME="う">
<INPUT TYPE="SUBMIT">
</FORM>

ならば別ウィンドウにできますが、window.open〜で開きたいのです。

ギレン・ザヴィ 2000/02/24(木) 23:53:59
一回普通のHTMLを開いて、そいつのbody onloadで呼び出し元のformを読ませてsubmitさせる・・くらいしか思い浮ばない。

ふじ 2000/02/25(金) 01:20:37
<SCRIPT language="JavaScript">
<!--
function win_open(){
    w = window.open("", "newwindow");
    document.f.target = "newwindow";
}
//-->
</SCRIPT>
<FORM name="f" action="/cgi-bin/printenv.pl" method="POST" onSubmit="win_open()">
<INPUT type="submit">
</FORM>

こんなかんじでどうですか。
onSubmit で window.open して、その window にフォームのターゲットを
指定。(その後、サブミット)

茶具 2000/02/29(火) 19:20:49
oya.html で window.open すれば、
ko.html から self.opener.document のフォーム中の value を
参照できます。
「opener」は“私自身を開いた document”を指します。

こんな感じになります。 親は何もせず、子が働くのがポイント。

oya.html ------
<SCRIPT language="JavaScript">
function win_open(){
    w = window.open('ko.html','');
}
</SCRIPT>
<FORM name="oya">
<INPUT type="text" name="okuri">
<INPUT type="button" onClick="win_open()">
</FORM>


ko.html -------
<SCRIPT language="JavaScript">
function win_open(){
    self.document.ko.uke.value = self.opener.document.oya.okuri.value;
}
</SCRIPT>
<FORM name="ko">
<INPUT type="text" name="uke">
</FORM>

蓮子 2000/02/29(火) 20:17:23
みなさまありがとうございます。
ふじさん、茶具さんの方法でどちらもできそうですが、
手間取っているので…できたら報告します。

document.f.target はIE3では上手く動作しませんでした。制限みたいです。

[上に] [前に] [次に]