- - PR -
Strutsでボタンを使わずに、リンクでフォームをSubmitする方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-04 00:56
初めまして。現在、Strutsを使って開発を行っています。
表記の件で、少し質問があります。 まず、検索を行い、その結果をActionでリクエストに入れています。それを、同じページにiterateで表示させています。 結果の「名前」にリンクを貼り(submitボタンの代わり)、hidden値として、名前、メール、件名を持ち、遷移先のJSPにその値を表示させたいと思ってます。 フォームを送信する際、ボタンは使わないようにしています。(仕様で) なので、JavaScriptを使って試みています。ソースは以下のような感じです。テスト用に簡単に作ってみました。 <html:html> <head> <title>テスト検索画面</title> <script language="JavaScript" type="text/JavaScript"> <!-- function submit(){ document.forms[1].submit(); } //--> </script> </head> <body> <html:form action="/search"> <table border="0"> <tr> <td>名前</td><td><input text="text" name="name" /></td> </tr> <tr> <td colspan="2"><input type="submit" name="検索"></td> </tr> </form> </html:form> </table> <logic:empty name="result"> <hr> </logic:empty> <logic:notEmpty name="result"> <hr> <table border="1" width="515"> <tr> <td width="164"> <p>名前</p> </td> <td width="164"> <p>メール</p> </td> <td width="164"> <p>件名</p> </td> </tr> <logic:iterate id="show" name="result" scope="request"> <html:form action="/input"> <input type="hidden" name="name" value="<bean:write name="show" property="name" />"/> <input type="hidden" name="mail" value="<bean:write name="show" property="mail" />"/> <input type="hidden" name="title" value="<bean:write name="show" property="title" />"/> </html:form> <tr> <td width="164"> <a href="javascript:submit()"><bean:write name="show" property="name" /></a> </td> <td width="164"> <bean:write name="show" property="mail" /> </td> <td width="164"> <bean:write name="show" property="title" /> </td> </tr> </logic:iterate> </table> </logic:notEmpty> </body> </html:html> 2つ目のフォームを実行したかったので、JavaScriptでforms[1]としたのですが、これではダメだと気づきました。結果が1件の場合は問題ないですが、結果が複数件の場合、iterateでフォームが複数作成される事になり、フォームの数が変わるからです。 例えば、2件結果が返ると、1ページ内のフォーム数は3となります。しかし、このJavaScriptの書き方だと、3つ目のフォームをSubmitしても、必ず2つ目のフォームのhidden値が遷移先のJSPに表示されます(当たり前ですが) そこで、このforms[]の値を動的に返る事ができるのか、それとも何か他の方法があるのか、知恵をお貸し下さい。 |
|
投稿日時: 2005-09-04 02:53
logic:iterateのindexと、引数を取るjavascriptのsubmitメソッド作ればできそうに見えますけど。
|
|
投稿日時: 2005-09-04 12:33
アドバイスどおりやってみたら、うまく行きました!
良きアドバイス、ありがとうございました。 |
1