情况是这样地:
我通过以下方式进行页面文本框输入数据的验证:
<script type="text/javascript" language="javascript" src="js/FormValid.js"></script>
<script language="javascript" type="text/javascript" src="js/FV_onBlur.js"></script><form id="form1" name="form1" runat="server" method="post" action="" onsubmit="return validator(this)"><asp:TextBox ID="txtNum" runat="server" valid="required|isInt" errmsg="不能为空|输入整数!"></asp:TextBox><span id="errMsg_txtNum" style="color: blue"></span>我单独使用上面的js验证时没有问题的,可有时候页面中要判断某一数据的唯一性或者别的,所以我得用到数据库,连库了,我就想了用VS中的验证控件CustomValidator(或者我用到其它的验证控件),结果发现js验证失效,验证控件验证没有问题,而且我点击按钮时,页面左下角的“!”是一闪而过,根本看不到js是出什么问题了,不知道这是什么原因,期待高手们指点。
还有,我请教下,就是在做一些页面时,有时候验证比较多,像这种情况是用js来验证呢,还是用VS提供的验证控件会比较好些,或者这两者本来就是一样的,麻烦高手告诉下我,这两种有优缺点可言不,谢了!
我通过以下方式进行页面文本框输入数据的验证:
<script type="text/javascript" language="javascript" src="js/FormValid.js"></script>
<script language="javascript" type="text/javascript" src="js/FV_onBlur.js"></script><form id="form1" name="form1" runat="server" method="post" action="" onsubmit="return validator(this)"><asp:TextBox ID="txtNum" runat="server" valid="required|isInt" errmsg="不能为空|输入整数!"></asp:TextBox><span id="errMsg_txtNum" style="color: blue"></span>我单独使用上面的js验证时没有问题的,可有时候页面中要判断某一数据的唯一性或者别的,所以我得用到数据库,连库了,我就想了用VS中的验证控件CustomValidator(或者我用到其它的验证控件),结果发现js验证失效,验证控件验证没有问题,而且我点击按钮时,页面左下角的“!”是一闪而过,根本看不到js是出什么问题了,不知道这是什么原因,期待高手们指点。
还有,我请教下,就是在做一些页面时,有时候验证比较多,像这种情况是用js来验证呢,还是用VS提供的验证控件会比较好些,或者这两者本来就是一样的,麻烦高手告诉下我,这两种有优缺点可言不,谢了!
解决方案 »
- execle问题 SELECT * FROM [Sheet1$] 如果动态获取sheet1$
- 来帮我看下这个功能可以用asp.net 的什么控件实现
- 微软Chart的诺干问题
- 关于母板页的问题
- 散分求解-〉 asp.net的国际化问题
- datalist 罕见难解决问题!
- 新鲜的VS2005,奇怪的Dropdownlist!!!请VS2005专家解答!!!
- GridView控件如何绑定到一个DataTable数据集上?[高分-顶者有份]
- 如果读取excel中sheet的问题
- 请问如何利用XML字符串结合xsl得到转换后的HTML字符串?
- 关于绑定时DataControlRowState.Alternate的问题
- 有什么好的方法替代Repeater嵌套绑定
function 你的js函数()
{
if(Page_ClientValidate())
{
//........
return true;
}
else
{
//......
return false;
}
}一般用js验证较好,但简单的用控件也没什么不可以!!
if(Page_ClientValidate())
{
var validType = e.getAttribute('valid');
var errorMsg = e.getAttribute('errmsg');
if (!errorMsg) {
errorMsg = '';
}
if (validType==null) return [];
fv.addAllName(e.name);
var vts = validType.split('|');
var ems = errorMsg.split('|');
var r = [];
for (var j=0; j<vts.length; j++) {
var curValidType = vts[j];
var curErrorMsg = ems[j];
var validResult;
switch (curValidType) {
case 'isNumber':
case 'isEmail':
case 'isPhone':
case 'isMobile':
case 'isIdCard':
case 'isMoney':
case 'isZip':
case 'isQQ':
case 'isInt':
case 'isEnglish':
case 'isChinese':
case 'isUrl':
case 'isDate':
case 'isTime':
validResult = fv.checkReg(e,RegExps[curValidType],curErrorMsg);
break;
case 'regexp':
validResult = fv.checkReg(e,new RegExp(e.getAttribute('regexp'),"g"),curErrorMsg);
break;
case 'custom':
validResult = eval(e.getAttribute('custom')+'(e,formElements)');
break;
default :
validResult = eval('fv.'+curValidType+'(e,formElements)');
break;
}
if (!validResult) r.push(curErrorMsg);
}
return r;
}
}
String.prototype.trim = function() {
return this.replace(/^\s*|\s*$/g, "");
}
var RegExps = function(){};
RegExps.isNumber = /^[-\+]?\d+(\.\d+)?$/;
RegExps.isEmail = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
RegExps.isPhone = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
RegExps.isMobile = /^((\(\d{2,3}\))|(\d{3}\-))?(13|15)\d{9}$/;
RegExps.isIdCard = /(^\d{15}$)|(^\d{17}[0-9Xx]$)/;
RegExps.isMoney = /^\d+(\.\d+)?$/;
RegExps.isZip = /^[1-9]\d{5}$/;
RegExps.isQQ = /^[1-9]\d{4,10}$/;
RegExps.isInt = /^[-\+]?\d+$/;
RegExps.isEnglish = /^[A-Za-z]+$/;
RegExps.isChinese = /^[\u0391-\uFFE5]+$/;
RegExps.isUrl = /^http[s]?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
RegExps.isDate = /^\d{4}-\d{1,2}-\d{1,2}$/;
RegExps.isTime = /^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}$/;
if else结构!
你会发现只有在所有验证控件通过验证后,才会去执行以下的代码块!
if (Page_ClientValidate()) { }
function txtAlert()
{
if(Page_ClientValidate())
{
alert("abc");
window.location.href="leftTime.aspx";
}
else
{
return false;
}
}
或者我换成下面:
function txtAlert()
{
if(Page_ClientValidate())
{
alert("abc");
window.location.href="leftTime.aspx";
}
}
错误依旧:提示function txtAlert()这一行object expected.<input type="text" runat="server" id="userName" maxlength="10" valid="required" errmsg="不能为空!" /> <input runat="server" type="submit" name="Submit" value="提交" onmousedown="txtAlert()" /><span id="errMsg_userName" style="color: blue"></span>而且我这还没有用验证控件验证,只是用js验证下非空。
求高人指点。或者解决js和验证控件之间的冲突有别的“可行性方案”不?
<input type="text" runat="server" id="userName" maxlength="10" valid="required" errmsg="不能为空!" /> <input id="Submit1" runat="server" type="submit" name="Submit" value="提交" onmousedown="txtAlert()" /><span id="errMsg_userName" style="color: blue"></span>
<!--以下是我加的用于测试-->
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
js没错!楼主试试!!