服务端控件验证与自己写的javascript验证函数同时存在时出现的冲突问题(RequiredFieldValidator&JS)
我在一个web页面里用到了RegularExpressionValidator控件验证TextBox,然后我自己又编写了一个js函数,让button的click事件调用,结果出现了如下问题:
1、在TextBox输入,单击button时click事件可以触发js函数验证
2、在TextBox输入时可以触发RegularExpressionValidator验证
3、但是当TextBox输入明显有错时,单击Button却不能触发RegularExpressionValidator验证Page页里的控件。
我的js函数如下:
function Check_value(frm)
{
var Condate=frm.txtdate.value;
Condate = Condate.replace(/-/g,"\/");
var time0 = new Date();
var time1 = new Date(Condate);
var date0=Date.parse(time0);
var date1=Date.parse(time1);
if(date1 > time0)
{
alert("最后接触日期不能大于今天的日期。");
return false;
}
}
然后我在页面加载时:
btnAdd.Attributes["onClick"] = "javascript:return Check_value("+this.ID+");";问题就出在3,CausesValidation是为true的。
修改代码如下,即可解决此问题:
btnAdd.Attributes["onClick"]="javascript: if(Page_ClientValidate()) return Check_value("+this.ID+");";
主要在前面增加了如果RequiredFieldValidator控件验证通过后,再调用js函数,测试成功。
posted on 2006-03-22 09:44 littlebamboo 阅读(542) 评论(0) 编辑 收藏 举报