0

我正在使用一个基本的 jquery 表单验证器来学习。每次我在浏览器中运行该页面时,都会返回一个Unexpected Identifier错误。我已经检查了几次代码,看看它是否是报价问题,但没有运气。我怎样才能摆脱这个错误?现场演示

脚本.js

$(document).ready(function(){
    $("#myform").submit(function() {
        var abort = false;
        $("div.error").remove();
        $(":input[required]").each(function(){
           if ($(this).val() === ""){
               $(this).after("<div class=\"error\"> This is a required field </div>");
               abort = true;
           }  
        });
        if (abort){return false;} else {
            postData = $("#myform").serialize();
            $.post("process.php", postData+"&action=submit&ajaxrequest=1", function(msg){
                if(msg){
                    $("#myform").before(msg);
                }
            });
            return false;
        }
    });
});

$("input[placeholder]").blur(function(){
   $("div.error").remove();
   var myPattern = $(this).attr("pattern");
   var myPlaceholder = $(this).attr("placeholder");
   var isValid = $(this).val().search(myPattern) >= 0;

   if (!isValid){
       $(this).focus();
       $(this).after("<div class=\"error\">The entered data does not match expected pattern: " + myPlaceholder + "</div>");
   } //isValid test
}); // onblur

在此处输入图像描述

4

2 回答 2

0

postData应该用 var 声明,但这不是问题。你几乎肯定放错了 { } 或 ;

我认为 blur 函数也在 内部$(document).ready(function() { block?,因为它可能的 jQuery 直到那时才可操作

于 2013-06-21T05:51:53.863 回答
0

您可以尝试将所有代码放入Doc ready 函数中:

$(document).ready(function(){
   $("#myform").submit(function() {
       //......all the code stuff here
   });

   $("input[placeholder]").blur(function(){
       //......all the code stuff here
   });
}); // end of doc ready
于 2013-06-21T05:53:54.760 回答