遇到一个问题: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"。
转载于:https://blog.51cto.com/smartwang/1239295