遇到一个问题:formValidator验证输入框输入格式错误,但是按钮的click事件可以继续执行,简单测试了一下,如下结果。


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="formValidator.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title></title>
    <script src="jquery-1.4.1.min-vsdoc.js" type="text/javascript"></script>
   <script src="formValidator.js" type="text/javascript"></script>

   <script language="javascript" type="text/javascript">
       var right = false;
       $(document).ready(function () {
           alert(1);
           $.formValidator.initConfig({ formid: 'form1', onerror: function (msg) { right = false; }, onsuccess: function () { right = true; } });
           $("#name").formValidator({ onshow: "输入名称", onfocus: "输入1-5个字符", oncorrect: function () { right = true; return "输入正确"; } }).inputValidator({ min: 1, max: 5, onerror: function () { right = false; return "输入错误"; } });
       });
       function clck() {
           if (!right) return;
           alert("click");
       }
   </script>
</head>
<body>
   <form id="form1" runat="server" action="" method="post">
   <div>
   <input id="name" name="name" />
   <div id="nameTip" > 输入1-5个字符 </div>
   <button type="submit" id="sub" name="sub" value="sub" >sub</button>
   <button type="button" id="btn" name="btn" value="btn" οnclick="clck();">btn< /button>
   </div>
   </form>
</body>
</html>

**************************************************************************************

简单地button事件(btn的click事件)是不能被formValidator阻止,需要根据formValidator验证的结果进行判断,如上代码中的isRight变量。(应该就是这么用吧,问题出在了调用方式错误~)

而submit按钮的提交,对应form的action,会被formValidator阻止,如果验证失败,则ready事件中不会弹出"1"。