2013-03-11 74 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