- - PR -
フォーム名称の取得
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-08-23 15:11
お世話になっております。
1つのHTMLファイルの中に複数のフォームがあり、 その送信先が同じサーブレットだった場合、 「どのフォームのSUBMITによるものか?」 を判断することは可能なのでしょうか? <FORM NAME="testform" METHOD="POST" ACTION="testservlet"> というフォームがあった場合、"testform"という情報が取得できれば ・・・と思ったのですが、 調べた範囲では、このNAMEに関しては、HTMLファイル内で JavaScriptによる参照の際には使えるのですが、 サーブレットからの取得の方法が見当たりませんでした。 どのフォームのSUBMITかを判別する場合、 それぞれのフォームに固有のデータを見て判断するか、 あるいはHIDDENで名称を埋め込んでおくしかないのでしょうか? | ||||||||
|
投稿日時: 2003-08-25 09:55
これってJavaとは何の関係もないですね。 単なるHTMLの問題ですよ。 HTMLのsubmit属性のオブジェクトのnameで値を取得して判断すれば良いだけでは? //サンプル <html> <head> <title>サンプル</title> </head> <body> <form> <input type="submit" name="sub1" value="実行"> </form> </body> </html> | ||||||||
|
投稿日時: 2003-08-25 22:36
アドバイスありがとうございました。 submitのname/valueを取得して処理を行うということも考えたのですが、 1.submitでnameの値を統一してvalueを元に判断する場合、 valueの値をform毎に変更しなければならない (たとえば全て「送信」という値にすることはできない) 2.逆にsubmitのnameの値で判断する場合、 formの数だけ(といってもたかだか数個ではあるのですが) パラメータの取得を行う必要がある ということで、実はもっといい方法があったりするのかも? と思った次第であります。 まぁ、何十個ものフォームから判別するわけではないので、 素直に2番の方法で行おうと思います。 #確かに、直接はJavaとは関係のない話ですね。 (Java以外ならもしかして簡単に取得できたりするのかな・・・と思ったので) 失礼いたしました。 | ||||||||
|
投稿日時: 2003-08-25 23:21
えっと、formの数だけパラメータの取得というところがチョイと引っかかったので・・・ (勘違いだったらなんですが)。たとえば
とやれば、どのフォームから送信されたかを判別するには mode の値を getBytesするだけなので、フォームが何十個あってもパラメータは1個でいいのでは?? | ||||||||
|
投稿日時: 2003-08-26 09:42
それならKen-Labさんが回答しているようにhiddenにすればよいだけでは? submitがhiddenになっても受け取る側は何も変更ないですし。 それよりHTMLのformは一つのformの中に複数のsubmitを持てるのですが、 なぜそうしないのでしょうか? | ||||||||
1
