资讯 手机客户端 00 : 00 : 00
圈子家园文章新帖公交查询实验室网盘教案管理上网客户端课表查询切换到宽版

127社区

 找回密码
 立即注册

只需一步,快速开始

用新浪微博连接

一步搞定

搜索
热搜: 思源楼 3+1课表 无线共享 招聘 学生会
关闭

站长推荐

亲,还没下载论坛手机客户端?跟上潮流做时尚达人。掌中乐趣无处不在,快点下载吧。

查看 »

返回列表

166

主题

15

听众

1748

积分

管理员

  • 收听TA
  • 发消息
发表于 2012-12-4 10:47:05 |显示全部楼层
  在完成一个模拟项目的时候,需要对两个TextBox控件进行验证,验证的规则是两个TextBox控件至少有一个TextBox需要输入值。ASP.NET除CustomValidator验证控件外,其它的验证控件都无法实现。所以只能使用CustomValidator(自定义验证)控件来实现所需的验证功能。为了得到更好的用户体验,通常采用客户端验证方式。即不刷新页面的情况下完成验证。
  两个TextBox控件与CustomValidator控件的代码如下:  
  1. <asp:TextBox ID="txt_ptje" runat="server" Width="235px">0.00</asp:TextBox><asp:TextBox ID="txt_tjje" runat="server" Width="235px">0.00</asp:TextBox>
  2.   <asp:CustomValidator ID="CustomValidator2" runat="server" ErrorMessage="至少需输入一项"
  3. ClientValidationFunction="<FONT color=red>ChkTextBox</FONT>" ControlToValidate="txt_ptje"
  4. Display="Dynamic" ValidateEmptyText="true" SetFocusOnError="true"></asp:CustomValidator>
复制代码
  验证的客户端脚本:
  1. <script type="text/javascript" src="js/jquery.js"></script>
  2. <script type="text/javascript">
  3. $(function(){
  4. 此处还有其它的程序代码,略去
  5. function <FONT color=red>ChkTextBox</FONT>(source, args) {
  6. if (parseFloat($("#txt_ptje").val()) == 0 && parseFloat($("#txt_tjje").val()) == 0)
  7. args.IsValid = false;
  8. else
  9. args.IsValid = true;
  10. }
  11. });
  12. </script>
复制代码
  以上代码经过反复调试,都验证失败。可以说根本都没有调用ChkTextBox()函数,更谈不上验证了。
  最终才找到问题的所在。正确的代码如下:
  1. <script type="text/javascript" src="js/jquery.js"></script>
  2. <script type="text/javascript">
  3. $(function(){
  4. 此处还有其它的程序代码,略去

  5. });
  6. function ChkTextBox(source, args) {
  7. if (parseFloat($("#txt_ptje").val()) == 0 && parseFloat($("#txt_tjje").val()) == 0)
  8. args.IsValid = false;
  9. else
  10. args.IsValid = true;
  11. }
  12. </script>
复制代码
  一句话:那就是不能把CustomValidator自定验证控件的客户端函数放在jQuery之Ready函数中。即应把客户端验证函数放在$(function(){ ... });之外。
  其实这个问题已经困扰我很久了,直到今天才得以解决。特撰写此文以便留下更深刻的记忆。同时也希望此文能对你有所帮助。不妥之处请指正。

客户端
回复

使用道具 举报

返回列表
高级模式
您需要登录后才可以回帖 登录 | 立即注册

插件友情推广计划插件友情推广计划插件友情推广计划

手机客户端|Archiver| 127社区-重庆科创职业学院论坛 ( 渝ICP备10016736号 )   |   

GMT+8, 2014-2-27 07:00

回顶部