0

私はJQueryが初めてで、ここで奇妙な問題に遭遇しています.HTMLフォームをサーブレットに投稿し、サーブレットにデータを出力しようとしています. データは、フォームを送信するほとんどの場合 (10 回のうち 7 回)、新しい値で印刷されます。しかし、それは他の 3 回失敗します。これが失敗するパターンを見つけることができませんでした。

firebug と chrome ツールを使用してみましたが、コンソールにエラーは表示されず、正しい値が設定されたフォームを送信するたびに、chrome の resources/HTML ツールで 200 応答が返されます。

これが私のコードです

HTML

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.16.custom/js/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>   

<form id="fcall">
    <p> Start Date:  <input  type="text" name="start" id="ibox_start"> 
        End Date: <input type="text" name="end" id="ibox_end"> </p>
        <div id="buttonID"> 
     <input type="submit" value=" Find " class="button"></div>

</form>

main.js

$().ready(

    function(){
        $('#ibox_start').datepicker();
        $('#ibox_end').datepicker();

        $('#fcall').submit(

         function(){

           var start =  $('#ibox_start').val();
           var end = $('#ibox_end').val();
           alert(start);

           $.post("DServlet", {start:start,end:end}, function(data) {});

          }
        );
      }         
    );          

サーブレット

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws      ServletException, IOException {
    // TODO Auto-generated method stub



    String start = request.getParameter("start");
    String end = request.getParameter("end");
    System.out.println("Date Recieved "+start);

 }
4

1 に答える 1

0

私は次のいずれかを見ることを期待します:

  • 自然なHTMLフォームの送信
  • trueフォームの値を検証し、フォームの送信を許可するか、フォームの送信falseを抑制するかを返す送信ハンドラーを使用した、自然なHTMLフォームの送信。
  • AJAXによってフォームデータを送信し、HTTP応答を処理するハンドラーを確立し、自然なHTMLフォーム送信を禁止するため.done()に戻る送信ハンドラー。false

上記のコードは、これらの可能性のハイブリッドのように見えます。

于 2013-03-11T02:11:09.940 に答える