人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下の条件を満たすWEBページを作成したいです。

・2フレーム(AフレームとBフレーム)に分かれている
・A・Bフレームそれぞれにフォーム部品(input)が存在している。
・submitボタンはAフレームにのみ存在
・Aフレームのsubmitボタン押下で、A・Bそれぞれのフォームの内容をBフレームにPOSTする
(POST後はPHPで処理します)

JavaScriptでいろいろ試してみましたが、フォーム部品(input)が複数フレームに分かれている場合はどうしてもPOSTできませんでした。
(A or Bどちらかの内容しかPOSTできなかったです)

方法が記載されているサイト or ソースそのものを教えてください。
(もし技術的に不可能であればそういった回答でもかまいません)

よろしくお願いします。

●質問者: jumpe
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Bフレーム JavaScript PHP Web にの
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● studioes
●35ポイント

Submit動作はFormのメソッドですので、異なるフレーム(Form)のデータ同士をそのままでは送信できません。

但し、同一フレームセット内のフレーム間でのデータ渡しは可能です。

従って、フレームBのhiddenフィールドへ値を渡してやればPOST可能です。

たとえば・・・Aフレームで

parent.frames[1].document.getElementById('A_text1').value= document.getElementById("text1").value;

の様な処理を行って、Bフレームのフォーム内に

<input type='hidden' name='A_text1' id='A_text1'>

等のようにフィールドを用意して転送してから、フォームのSubmitを実行します。

◎質問者からの返答

この方法で試してみました。しかし問題が・・

チェックボックスの値を取得しようとしたら、チェックのON/OFFかかわらず設定したvalueが取れてしまいます。

どうしたらよいでしょうか?


2 ● mzk
●35ポイント

・・・メイン・・・

<html>

<head>

</head>

<FRAMESET cols="30%, *">

<FRAME src="0.htm" name="in">

<FRAME src="1.htm" name="sub">

</FRAMESET>

</body>

</html>


・・・0.htm・・・

<html>

<head>

<script>

<!--

function mySubmit(){

alert("test");

alert(parent.sub.document.form1.test.value );

parent.sub.document.form1.submit();

}

//-->

</script>

</head>

<body>

<input id="test" type="button" onclick="mySubmit();" value="送信" />

</body>

</html>

・・・1.htm・・・

<html>

<head>

</head>

<body>

<form name="form1" method="get" action="http://localhost/" target="main">

<input name="test" />

</form>

</body>

</html>



これ以外にも色々やり方はあると思いますが、今回はフォーム内容をJavaScript側で送信(submitを発生)させるという方法で実現してみました。

formのターゲット指定はお好きにどうぞ

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ