jspとservlet、sqlの連携でformのsubmitが押せない

このQ&Aのポイント
  • Java1.5とMySQL5を使用して、jspとservletを使ってデータベースにレコードを追加・変更・削除する処理を行っています。しかし、レコードが30件以上あった場合に変更画面でのsubmitボタンが押せなくなります。
  • 変更処理は、チェックボックスにチェックを入れたレコードのみを変更するプログラムです。30件以上のレコードから選択すると、<input type='submit'>が押しても何も動作しません。逆に、<input type...>を1つ減らすとsubmitボタンが押せることに気付きました。
  • 同じような構造で書かれた削除処理は30件以上でも問題なく動作するため、問題は変更処理のプログラムにある可能性があります。質問を投げても解決策が見つからないため、ご指導をお願いいたします。
回答を見る
  • ベストアンサー

jspとservlet、sqlの連携でformのsubmitが押せない

いつもお世話になっております。 Java1.5 MySQL5を使用しています。 Javaの勉強でjspとservletを使ってデータベースにレコードを追加・変更・削除する処理を行っております。 追加処理は問題なく動くのですが、レコードが30件以上あった場合のみ変更画面が動作しません。 チェックボックスにチェックを入れたもののみ変更する、というプログラムなのですが、30件以上のレコードから選択すると<input type="submit" …>が押しても何も動作をしません。 レコードはfor文でまわして、<input type="text" name="name" …>というように配列として渡しています。 同じような構造で書いている削除処理は30件以上で問題なく動くので変更処理プログラム内の問題かとも思ったのですが、レコードを渡すformの中で<input type…>を1つ減らせば(現在は3つのカラムを渡しています)submitが押せることに気付きました。 調べてもなかなか出てこないので、質問させて頂きます。 ご指導お願いいたします。

  • Java
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#33813
noname#33813
回答No.2

><form mathod="post" action="db.jsp/up_checker.jsp" style="display : inline;"> ここでmethodとすべきところがmathodとなっている(2文字目がaになっている。eが正。)ため標準でGETリクエストを発行しようとします。 そのためにIEのGET制限にひっかかっているのだと思います。 (Firefoxだったらsubmitできましたので) ※具体的にIEの制限内容までは調査していません。 修正前はサブミットできないことを確認、修正後はサブミットされることを確認しましたので、これでいけるかと。

king1059
質問者

お礼

お礼が大変遅くなりました。申し訳ございません。 ご指摘の通り直したら解決いたしました。どうもありがとうございます。

その他の回答 (1)

noname#33813
noname#33813
回答No.1

Submitボタンを押せないというのが理解できません。 通常、INPUTタグの数に関わらずSubmitはできます。 Submitボタンが押せないという画面のHTML(JSPではなく動的に生成されたHTML)を載せて頂ければわかると思います。

king1059
質問者

補足

<html> <head> <title>UPDATE</title> </head> <body> <h1>変更</h1> <br /><br /> <div> <form mathod="post" action="db.jsp/up_checker.jsp" style="display : inline;"> <table style="width : 600px;text-align : center;"> <colgroup style="width : 40px;" /> <colgroup style="width : 30px;text-align : center;" /> <colgroup /> <tr> <th>チェック</th> <th>ID</th> <th>変更情報</th> </tr> <!-- ここから下レコードを表示する --> <tr> <td><input type="checkbox" name="check" value="1" class="radio" /></td> <td>1</td> <td> <input type="hidden" name="maker_id" value="1" /> <input type="text" name="maker_name" value="abcde" size="22" /> <input type="text" name="maker_url" value="http://abcde.com/" size="50" /> </td> </tr> <tr> <td><input type="checkbox" name="check" value="2" class="radio" /></td> <td>2</td> <td> <input type="hidden" name="maker_id" value="2" /> <input type="text" name="maker_name" value="bcdef" size="22" /> <input type="text" name="maker_url" value="http://bcdef.com/" size="50" /> </td> </tr> <!-- レコード3~28省略(ほかのレコードと同じです) --> <tr> <td><input type="checkbox" name="check" value="29" class="radio" /></td> <td>29</td> <td> <input type="hidden" name="maker_id" value="29" /> <input type="text" name="maker_name" value="xxxxx" size="22" /> <input type="text" name="maker_url" value="http://xxxxx.com/" size="50" /> </td> </tr> <tr> <td><input type="checkbox" name="check" value="30" class="radio" /></td> <td>30</td> <td> <input type="hidden" name="maker_id" value="30" /> <input type="text" name="maker_name" value="yyyyy" size="22" /> <input type="text" name="maker_url" value="http://yyyyy.com/" size="50" /> </td> </tr> <tr> <td><input type="checkbox" name="check" value="31" class="radio" /></td> <td>31</td> <td> <input type="hidden" name="maker_id" value="31" /> <input type="text" name="maker_name" value="zzzzz" size="22" /> <input type="text" name="maker_url" value="http://zzzzz.com/" size="50" /> </td> </tr> <!-- レコード表示ここまで --> </table> <input type="submit" value="変更" /> <input type="reset" value="チェックを外す" /> </form> </div> <br /> </body> </html>   - - - - - - - - - - - - - - - - - - - - - - - - - - -   以上です。   <input type="hidden" name="maker_id" …> <input type="text" …> <input type="text" …> のどれか1つを削れば取り敢えず動作はしますが、3つのままだとsubmitを押した時に外見的には押されたのですが、次のページ(db.jsp/up_checker.jsp)に飛びません。

関連するQ&A

  • jspからServletにデータを送るには?

    javaを使って開発をしているのですが、 jspからServletにデータを送るのってform型のsubmitでしかできないですか? <a href="~">で行うことは無理でしょうか? ちなみに、form型だと以下のようにしています <form method="post" action ="hogeServlet" > <input type="hidden" name="id" value =<%=hoge.getid() %>> <input type="submit" id="button1" value="ほげ"> </form>

  • Servlet+JSP連携

    Tomcat6.0を用いてSSL通信のテストプログラムを作成しています。 以下の順で実行するとサーブレットのdoPostが実行されずHTTP 404でエラーとなってしまいます。 1の地点で証明書がエラーになっているのが問題なのでしょうか? httpの場合は通常に遷移するため何か設定が必要なのでしょうか? 1.https://localhost:8443/Testを実行するとindex.jspが実行されます。 2.index.jsp内から <form action="TestServlet" method="POST"><input type="submit" value="a"/> でサーブレットに遷移したいです。  URLはhttps://localhost:8443/Test/TestServletとなっているため問題ないと思われます。

    • ベストアンサー
    • Java
  • jsp から servlet に

    パラメータをJSPからServlet に渡す所で、どうしても、null になってしまします‥。 主要な部分だけ書きます。 --jsp-- <jsp:useBean id="beanId" class="Bean" scope="request" /> <form method="POST" action="servlet"> <input type="submit" value="送信"> <input type="text" size="10" name="name"> --servlet-- import Bean; Bean bean = (Bean)request.getAttribute( "beanId" ); // ↑ここが、nullになってしまう。 --Bean-- public String getName() { return name; } public void setName( String name ) { this.name = name; } 考え方が違ってるかも知れないのですが‥。 よろしくお願いします。

    • ベストアンサー
    • Java
  • formでsubmitの代わりに画像を使ったとき、POSTできるか

    表題の件で質問です。 どちらかというとHTMLよりな質問になりますが、受け取り側がPHPなのでこちらで質問させていただきます。 まず <form action="受け取りのURL" method="post"> <input type="image" src="....gif" name="image"> <input type="hidden" name="data" value="渡すデータ"> </form> として、受け取りに、 <? $data=$_POST["data"]; printなりの処理; //あるいは if(isset($_POST["image"])) { $data=$_POST["data"]; printなりの処理; } ?> としますが、受け取りURLにとんでもうまくPOSTでデータが渡りません。 type="iamge" を type="submit"に変えればPOSTされます。 submitの代わりにイメージ画像を使うと、POSTできないのでしょうか。

    • ベストアンサー
    • PHP
  • 1つのformに2つのsubmitボタン

    を配置した場合 受け取ったPerlは その2つのどちらが押されたかを知ることができるのでしょうか? その場合どうしたら言いのでしょうか? <form method='post' action='http://perl/x.pl'> <input type='submit'/><br/> <input type='submit'/><br/> <input type='text' name='data'/> </form> で第1のサブミットが押されたときには dataを大文字で表示し 第2のサブミットが押されたときには dataを小文字で表示したいのです

    • ベストアンサー
    • CGI
  • <FORM> </FORM> の中に さらに <FORM> </FORM>があるときのSUBMITボタンについて

    今、 <FORM ACTION="aaa.asp" METHOD="POST" Name="form1"> <input type="SUBMIT" value="ボタン1"> <FORM ACTION="bbb.asp" METHOD="POST" Name="form2"> <input type="SUBMIT" value="ボタン2"> </FORM> </FORM> としていて、ボタン2を押すとbbb.aspに 飛んでほしいのでに、aaa.aspに飛んでしまいます。 こういう場合どのようにすればよいのでしょうか? それぞれのボタンは hidden の値をそれぞれの フォームの中の値を渡したいので どうしてもSubmitがいいのです。

    • ベストアンサー
    • HTML
  • JSPから値を送ったときのServletでの受け取り方について

    JSPから<form>で値を送って、それをServletでgetParameterで受け取る処理を しているのですが、 JSPから送る値がいくつあるかわからない場合、Servlet側ではどのように 受け取る方法があるでしょうか? 例えば、 <form action="<%= response.encodeURL("/mimi/abc") %>" method="post"> <% for(int i=0;i<attr.size();i++) { //attr.size()にはいくつ入ってるか不明として String strNameAtr = (String)attr.elementAt(i) ; %> 値 <input type="text" value="<%= strNameAtr %>" name="xmlValueAttr_"+"<%= i %>"><br> <% } %> <input type="submit" value="変更" name="getText"> </form> これを、Servletで受け取る場合、どのように受け取れるでしょうか? xmlValueAttr_iの"i"の部分はいくつまで入っているかわからないので、 普通の処理だと、対応できません。 いい方法があったら、教えてください、お願いします。

    • ベストアンサー
    • Java
  • FormのSubmitボタン

    こんにちは。 <table align="center"> <form action="getdata.html" method="post"> <tr> <th>Customer Name :</th> <td><input type="text" name="CustNameEdit" value=""></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="SearchButton" value="Search"> <input type="submit" name="SearchButton" value="Show All"> </td> </tr> </form> </table> このようなフォームで、CustNameEditに文字列を入力し、Searchボタンをクリック すると、getdata.htmlでSearchButtonの値は"Search"になっているのですが、 文字列入力後、キーボードのEnterキーを押すと、getdata.htmlへは行くのですが、 SearchButton変数が存在しないと言われてしまいます。 で、この現象ですが、Internet Explorer(試したのはバージョン6.0と7.0)で 発生しますが、Operaで試してみたところ、問題ありません。 何か原因として考えられることはありますでしょうか。

    • ベストアンサー
    • HTML
  • submitについて

    <script type="text/javascript"> <!-- function go() { document.getElementsByTagName("input")[3].value+="text"; } //--> </script> <form name="NAME1" action="#" method="get" onSubmit="go()"> <input type="submit" name="submit1" value="送信1" > <input type="submit" name="submit2" value="送信2"> <input type="button" name="submit3" value="送信3" onClick="go()"> <input type="text" name="text1" size="10"> </form> なのですが、送信2のsubmitを4回クリックすると以下のように表示されるのですが、どういう感じで実行されているのかわかりませんので教えていただけないでしょうか? 一応一回目はtext1=textとなるのですがテキストボックスには空になります。 2回目はtext1=textとなりテキストボックスにはtextが入ります。 3回目はtext1=texttextとなりテキストボックスには空になります。 4回目はtext1=textとなりテキストボックスは空になります。 以上よろしくお願いします。

  • formのボタンをsubmitしたときにアラート

    javascript で、formのボタンをsubmitしたときに アラートが出るようにしたいと思います。 下記のように作ってみましたが、うまく動きません。 どのようにすれば動くでしょうか? ご教示いただきたくお願いいたします。 <script type="text/javascript"> function(){ $('form1').submit(function(){ $.ajax({ type: 'POST', data: postData, url: 'buy.php', success: function(data){alert("購入できました");} error: function(){alert('購入できませんでした。再度お試しください');} }); return false; }); } </script> <form name="form1" id="form1" method="POST" name="form1" value="form1" action="buy.php"> <input type="hidden" name="id" value="100" /> <input type="hidden" name="name" value="高橋" /> <input type="submit" value="Save"> <form/>

専門家に質問してみよう