0

我是 JQuery 的新手,我在这里遇到了一个奇怪的问题,我尝试将我的 HTML 表单发布到 servlet,并尝试在 servlet 上打印数据。在我提交带有新值的表单(例如 10 次中的 7 次)的大多数情况下,数据都会被打印出来。但它失败了另外 3 次,我找不到失败的模式。

我尝试使用 firebug 和 chrome 工具,在控制台上看不到错误,每次提交设置正确值的表单时,我都会在 chrome 的资源/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 表单提交
  • 自然的 HTML 表单提交,带有一个提交处理程序,它验证表单值并返回true以允许表单提交或false禁止它。
  • 通过 AJAX 提交表单数据的提交处理程序,建立.done()处理 HTTP 响应的处理程序,并返回false以禁止自然 HTML 表单提交。

上面的代码看起来像是这些可能性的混合体。

于 2013-03-11T02:11:09.940 回答