<form>で出力先(target)を増やせないでしょうか?



0   名前: ゆき : 2005/08/05 19:53
こんばんは、いつも教えてもらって助かってます。(特に元帥様)
m( )m

今回は<form action="xxx" target="_a1">の様なケースで
例えば4箇所に自働submitした時にその結果を最初は
a1その次はa2...a3....a4と別なwindowに出力する事は可能でしょうか?
フレームで3x3区切って実行結果を一覧で見れるようにしたいのですが?
難しいでしょうか?

よろしくお願いします。

ゆき

1   名前: Pid : 2005/08/05 19:53
前回もそうだったのですが,「どんな場面で,何のために,どんな風に」なるのかを明確にして頂かないと,コメントしづらいです(もし WWW 上の汎用的なシステムを目指すのであれば,どちらかと言えば,私も target 属性はお勧めしません)。

『別な window』と『3x3 フレーム』(切り過ぎだと思いますが)はどういう関係にあるのでしょうか。form 要素の target 属性を使うのであれば,別ウィンドウ・別フレーム出力については前回の元帥さんのスクリプトを応用すれば難しくないような気がしますが,具体的に「どこで」つまづいておられるのでしょうか。

ご自分で実際にコードを書いてみて,うまくいかない部分をお尋ねになる方が具体的なアドバイスを得られますよ。

2   名前: ゆき : 2005/08/05 19:53
具体的に言うと前回の応用で
前回の物だと
submitを押すとsbumit1→submit2→submit4→submit4
ただその時にtargetで出力先を指定するんですが
同じ所に出力され最後の物しか結果が確認取れません。
そこで
submit1→target1,submit2→target2,submit3→target3,submit4→target4
の様な物を考えています。出力先はフレームで予め
nameを振っておけば4つの出力なら4個出力され結果が全部見れると思ったんです。

ゆき

3   名前: Anonym : 2005/08/05 19:53
「思った」のはわかったから「どう実現しようとしたのか」が知りたいわけで。

今のところご自分では一行も書いてないのかな?まあそれはそれで構わないけど、
ご自分の仕事を他人に投げっぱなしという印象を受けるし、
何より「自分でも理解していない他人のコード」をお客様に使って頂くのは危険じゃない?

だから、まがりなりにも自分で書いてみるのが大切だと思いますよ。
それで分からない部分をまた質問すればいいわけで。

ヒントとしては

1)
連想配列で data = { 'frame1' : 'a.cgi', 'frame2' : 'b.cgi' } のように
対応づけする

2)
for (var str in data) {
form.target = str;
form.action = data[str];
form.submit();
}

…かな。

4   名前: ゆき : 2005/08/05 19:53
こんばんは。いつも丸投げに近くすいません。

少し忙しくてやってなかったのですが、Anonym様のヒントにより
無事に欲しい物が完成しました。ありがとうございます。

物としてはたとえば売り上げの数字などを本日、昨日…1週間前…
の要領でフレームに区切った中に1回のクリックで出力したかったんです。

ゆき

一覧へ戻る