javascript - 使用 java servlet 的 ajax 多输入表单验证不起作用。 Ajax不显示错误

标签 javascript java jquery html servlets

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 验证不起作用。如果用户聚焦该字段并将其保留为空字段,我需要在文本字段下方显示错误。当我聚焦文本字段并将其留空时,没有显示错误。 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());
                   }
            }

最佳答案

请检查 if 条件是否为 null。 if(mveTitle == null) 而不是 if(mveTitle.length()==0)
和 if(mveDecrptn == null) 而不是 if(mveDecrptn.length()==0)

关于javascript - 使用 java servlet 的 ajax 多输入表单验证不起作用。 Ajax不显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59022773/

相关文章:

javascript - 如何在自适应中折叠列表项的边界

JavaScript 事件未注册

java - clojure 是否可以读取和处理编译器生成的类(.class 文件)?

Java 图像 slider ?

java - "proxied"状态对于 Hibernate session 意味着什么

javascript - 匿名函数中的函数作用域

javascript - 访问数组中的对象

javascript - jQuery 属性操作的不一致

javascript - 在具有数据 slider 的输入标签上调用 Jquery 函数

javascript - 在滚动条上隐藏/显示 webkit 滚动条