首页 > 解决方案 > 使用 java servlet 的 ajax 多输入表单验证不起作用。Ajax 不显示错误

问题描述

阿贾克斯不工作。这是我的表格。ajax 没有验证我的服务器端代码。根据下面的代码,它没有显示错误。

<form id="postMveForm" action="movieDetails">

<input type="text" name="mvetitle" id="mveTitleId"><br/>
<div id="errormvetitle"></div><br/>

<textarea name="mveDescription" id="mveDescrId" rows="10" cols="50"></textarea><br/>
<div id="errormveDescr"></div><br/>

我的 ajax 验证不起作用。如果用户关注该字段并将其保留为空字段,我需要在文本字段下方显示错误。当我聚焦文本字段并将其留空时没有显示错误。阿贾克斯不工作。

<script>

    $(document).ready(function() {
        $('#mveTitleId').blur(function() {
            $.ajax({
                url : 'movieDetails',
                data : {
                    mvetitle : $('#mveTitleId').val()
                },
                success : function(responseText) {
                    $('#errormvetitle').text(responseText);
                }
            });
        });


        $('#mveDescrId').blur(function() {
            $.ajax({
                url : 'movieDetails',
                data : {
                    mveDescription : $('#mveDescrId').val()
                },
                success : function(responseText) {
                    $('#errormveDescr').text(responseText);
                }
            });
        });     

    });    
    </script>

这是movieDetails servlet 类。

      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

         {

           String mveTitle = request.getParameter("mvetitle");
            String mveDescrptn = request.getParameter("mveDescription");

        if(mveTitle.length()==0)    

                {
                    String mveTitleError = "Error movie Title field is Empty";

                    response.setContentType("text/plain");
                     response.setCharacterEncoding("UTF-8");
                    response.getWriter().write(mveTitleError);           

                }                                     
                    if(mveDescrptn.length()==0)
                  {
                    String mveDescrptnError = "Error movie Description is empty";

                    response.setContentType("text/plain");
                     response.setCharacterEncoding("UTF-8");
                    response.getWriter().write(mveDescrptnError);
                  }

              else {
              response.getWriter().append("success ").append(request.getContextPath());
                   }
            }

标签: javascriptjavajqueryhtmlservlets

解决方案


请在 if 条件下检查 null。if(mveTitle == null) 代替 if(mveTitle.length()==0)
和 if(mveDescrptn == null) 代替 if(mveDescrptn.length()==0)


推荐阅读