Js验证GridView数据

ASPX页面主要代码如:

主要是三个模块列,内容都是TextBox

  1. <asp:TemplateField HeaderText="下达资金<br/>(万元)">
  2.   <ItemStyle Width="80px" CssClass="gv" Height="25px" HorizontalAlign="Left" VerticalAlign="Middle" />
  3.   <HeaderStyle Width="80px" BackColor="#C8E3F9" CssClass="gv" Font-Bold="False" Font-Size="14pt"
  4.           HorizontalAlign="Center" VerticalAlign="Middle" />
  5.   <ItemTemplate>
  6.         <asp:TextBox Width ="75px" MaxLength="7" ID="txtMoney" Text='<%#Eval("Bankroll")%>'  runat="server"  > </asp:TextBox>
  7.   </ItemTemplate>
  8. </asp:TemplateField>

aspx.cs后台代码如下:

  1.     /// <summary>
  2.     /// gridview呈现前激发
  3.     /// </summary>
  4.     /// <param name="sender"></param>
  5.     /// <param name="e"></param>
  6.     protected void GVList_PreRender(object sender, EventArgs e)
  7.     {
  8.         ClientScriptManager cs = Page.ClientScript;
  9.         foreach (GridViewRow gvrow in GVList.Rows)
  10.         {
  11.             //找出GridView里的每一个服务端空间
  12.             TextBox txtMoney = (TextBox)gvrow.FindControl("txtMoney");
  13.             TextBox txtToPro = (TextBox)gvrow.FindControl("txtToPro");
  14.             TextBox txtToCity = (TextBox)gvrow.FindControl("txtToCity");
  15.             //将相应的服务端控件的ClientID注册到客户端JavaScript数组
  16.             cs.RegisterArrayDeclaration("grdMoney", String.Concat("'", txtMoney.ClientID, "'"));
  17.             cs.RegisterArrayDeclaration("grdToPro", String.Concat("'", txtToPro.ClientID, "'"));
  18.             cs.RegisterArrayDeclaration("grdToCity", String.Concat("'", txtToCity.ClientID, "'"));
  19.         }
  20.     }

 

Js里的验证如下:

  1. for(i=0;i<grdMoney.length;i++)
  2.        {           
  3.                 //总投资有效性验证               
  4.                 var fMoney=0,fPro=0,fCity=0;
  5.                 var objMoney=document.getElementById(grdMoney[i]);
  6.                 //alert(objMoney.value.length);
  7.                 if(objMoney.value.toString().length<1||objMoney.value.toString().substring(0,1) == " ")
  8.                 {
  9.                      alert("第 ["+ [parseInt(i)+1]+ "] 行的总投资不能为空,并且不能以空格开头!");
  10.                      objMoney.focus();
  11.                      return false;
  12.                 }
  13.                 else
  14.                 { 
  15.                      var patrn=/^/d+/.?/d*$/;
  16.                      if ((!patrn.exec(objMoney.value))||objMoney.value<=0) 
  17.                      { 
  18.                        alert("第 ["+ [parseInt(i)+1]+ "] 行的总投资只能为大于0的正数!");
  19.                        objMoney.focus();
  20.                        return false;
  21.                      }
  22.                 }
  23.                 fMoney = parseFloat(objMoney.value);
  24.                 //省直预算有效性验证
  25.                 var objToPro=document.getElementById(grdToPro[i]);
  26.                 if(objToPro.value.length>0)
  27.                 { 
  28.                     var patrn=/^/d+/.?/d*$/;
  29.                     if ((!patrn.exec(objToPro.value))||objToPro.value<=0) 
  30.                      { 
  31.                        alert("第 ["+ [parseInt(i)+1]+ "] 行的省直预算只能为大于0的正数!");
  32.                        objToPro.focus();
  33.                        return false;
  34.                      }
  35.                      fPro = parseFloat(objToPro.value);
  36.                 }    
  37.                 //设区市预算有效性验证
  38.                 var objToCity=document.getElementById(grdToCity[i]);
  39.                 if(objToCity.value.length>0)
  40.                 { 
  41.                     var patrn=/^/d+/.?/d*$/;
  42.                     if ((!patrn.exec(objToCity.value))||objToCity.value<=0) 
  43.                      { 
  44.                        alert("第 ["+ [parseInt(i)+1]+ "] 行的设区市预算只能为大于0的正数!");
  45.                        objToCity.focus();
  46.                        return false;
  47.                      }
  48.                      fCity = parseFloat(objToCity.value);
  49.                 }       
  50.                 //总投资和省直预算与设区市预算和的关系有效性验证
  51.                 //alert(fMoney+","+fPro+","+fCity);
  52.                 if(fMoney<fPro+fCity)
  53.                 {
  54.                     alert("第 ["+[parseInt(i)+1]+"] 行的省直预算与设区市预算和不能大于总投资"+objMoney.value+"(万元)!");
  55.                     return false;
  56.                 }        
  57.          }

参考图片:

第一张:

 

第二张

第三张

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值