2013-03-11 98 views
0

我是JQuery的新手,我在這裏遇到了一個奇怪的問題,我嘗試將我的HTML表單發佈到servlet,並嘗試在servlet上打印數據。大部分時間我都會用新的數據提交表格(比如說10次中的7次)。但是它失敗了另外3次,我找不到一個失敗的模式。JQuery-Servlet發佈失敗後不成功

我試過使用螢火蟲和鉻工具,我沒有看到控制檯上的錯誤,並且我每次用正確的值提交表單時都會在資源/ 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) {}); 

      } 
     ); 
     }   
    );   

的Servlet

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); 

} 
+0

「失敗」是什麼意思?它通常在工作時看到什麼? – bdares 2013-03-11 00:45:02

+0

我看到在我的eclipse控制檯上打印的日期爲「接收日期+ 2013年3月3日,有時我沒有看到我提交表單時打印的任何日期。 – AKG 2013-03-11 00:52:03

回答

-1

我希望看到下列之一:

  • 自然HTML表單提交
  • 自然HTML表單提交了提交處理這驗證表單值,再返回true允許提交表單或false壓制它。
  • 由AJAX提交表單數據的提交處理程序,建立.done()處理程序來處理HTTP響應,並返回false以禁止自然的HTML表單提交。

上面的代碼看起來像是這些可能性的混合體。

+0

匿名downvoter先生 - 哪一部分你不明白? – 2013-03-11 02:29:55

+0

嘿嘿,感謝您的回覆,在提交表單的時候,js代碼中提到alert('start')的部分代碼給了我正確的彈出警報,所以表單值填充正確,我甚至可以看到firebug中的值。對於JQuery來說,我是一個新手,所以我搜索了一下,發現了對servlet執行「post」的方法。 – AKG 2013-03-11 02:45:54

+0

嘗試在提交處理程序底部的'return false;'應該給出一致的行爲。最後想要的,但一致的。 – 2013-03-11 03:00:09