プロが教えるわが家の防犯対策術!

tomcat5.0+mysql5.1+jsp+html

まったく同じフォーム内容を2つのページに送信しようとしています。
center.jsp内にあるひとつのsubmitボタンを押して、同時に2つのページでデータを受け取りたいのです。
どなたかわかるかたいらっしゃいますでしょうか?

center.jsp → rightA.jsp
      → leftB.jsp

フレーム分割しているので、イメージ的には下記のような感じです。
action='rightA.jsp' method='post' target='rightA'
action='leftB.jsp' method='post' target='leftB'


※javascriptで可能だと知り合いから聞いたのでいろいろ調べてみましたが…
 いまいちjavascriptが理解できないでいます。

<script language="JavaScript">
<!--

function sendForm() {

formElem.method = "post";
formElem.action = "rightA.jsp";
formElem.target = "rightA";
              
formElem.action = "leftB.jsp";
formElem.target = "leftB";

 ~

}
// -->
</script>

<form name='form' action='' onsubmit='retrun sendForm()'> ~
          

A 回答 (2件)

まず前提として、1つのページから2以上のページに飛ぶことは


一意性が失われるため、お勧めできません。
特にtargetを指定してページを開くことは非推奨のはずです。
それでもどうしてもというのであれば以下のように・・・

formElem.action = "rightA.jsp";
formElem.target = "rightA";
formElem.submit();          
formElem.action = "leftB.jsp";
formElem.target = "leftB";
formElem.submit();          
return false;

と、actionとtargetを指定した後にsubmitしてやり、最後にfalseを
返してやるとよいでしょう。(onsubmitにfalseが返るため)
    • good
    • 0
この回答へのお礼

yambejp様、ありがとうございます。
auty様のアドバイスとあわせて、下記で動かすことができました。

<script language="JavaScript">
<!--
function sendForm() {
var formElem = document.forms["form"];
formElem.action = "rightA.jsp";
formElem.target = "rightA";
formElem.method = "post";
formElem.submit();
formElem.action = "leftB.jsp";
formElem.target = "leftB";
formElem.method = "post";
formElem.submit();
return false;
}
// -->
</script>

form部分
form name='form' onsubmit='return sendForm()'

推奨されてないやり方のようですが、
動かすことができてホッとしています。
それぞれデータベースに接続して、任意のデータの取り出しに成功です。
javascript以外で別のやり方があるのでしょうかね?
いろいろ調べて勉強したいと思います。
どうもありがとうございました。

お礼日時:2008/05/04 10:17

・ もしかしたら解決済みかもしれませんが、formElemのつながりがはっきりしていないかも知れません。

もしそうならformElemを次のように定義する必要があります。

name='form'という名前が付いているので、関数sendForm() の先頭に、例えば次の1行を追加します。

function sendForm() {

var formElem = document.forms["form"];

formElem.method = "post";
    • good
    • 0
この回答へのお礼

auty様、ありがとうございます。
yambejp様のアドバイスとあわせて、動かすことができました。
今までjavascriptは重要視していなかったのですが、
やはりいろいろな面で使うことがありそうです。
がんばって勉強していきたいと思います。
どうもありがとうございました。

お礼日時:2008/05/04 10:21

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