算法(不可隔行添写数据)

来源:互联网 发布:问卷调查的软件 编辑:程序博客网 时间:2024/05/18 21:10

需求:假如一共四列,有先后次序,第二列为空时,第三列不可有值,依次类推。

前台:

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CheckNull.aspx.cs" Inherits="test_CheckNull" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" >
  4. <head runat="server">
  5.     <title>前面没添,后面不让添。</title>
  6.     <script type="text/javascript">
  7.         //功能函数,前面没添写,不可添后面。
  8.         //希望的改进是,能输入数组,然后根据数组长度判断。
  9.         function fNotNull(){
  10.             //boolean b = true;//布尔型没有成功。
  11.             var b = 0;//0代表通过验证,1代表没有通过验证。
  12.             if(document.getElementById('tb1').value=="")
  13.                 b = 1;
  14.             for(i=1;i<5;i++){//设置id范围。
  15.                 var t = 'tb' + i;
  16.                 var txt = document.getElementById(t);
  17.                 if(txt.value=="")//如果为空,则判断后面的是否有值。
  18.                     for(j=i+1;j<5;j++){//设置后面id范围。这里应该从i+1开始判断。
  19.                         var x = 'tb' + j;
  20.                         var tt = document.getElementById(x);
  21.                         if(tt.value!="")
  22.                         b = 1;
  23.                     }
  24.             }
  25.             return b;
  26.         }
  27.         function fCheck(){
  28.             if(fNotNull()=="0")
  29.                 alert('通过验证');
  30.             else
  31.                 alert('第一列不可为空,且不能隔行添写!');
  32.         }
  33.     </script>
  34. </head>
  35. <body>
  36.     <form id="form1" runat="server">
  37.     <div>
  38.         <asp:TextBox ID="tb1" runat="server"></asp:TextBox>
  39.         <asp:TextBox ID="tb2" runat="server"></asp:TextBox>
  40.         <asp:TextBox ID="tb3" runat="server"></asp:TextBox>
  41.         <asp:TextBox ID="tb4" runat="server"></asp:TextBox>
  42.         <input type="button" value="JS验证" onclick="fCheck();" />
  43.         <asp:Button ID="btnCheck" runat="server" Text="C#验证" OnClick="btnCheck_Click" />
  44.     </div>
  45.     </form>
  46. </body>
  47. </html>

后台:

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11. public partial class test_CheckNull : System.Web.UI.Page
  12. {
  13.     protected void Page_Load(object sender, EventArgs e)
  14.     {
  15.     }
  16.     protected void btnCheck_Click(object sender, EventArgs e)
  17.     {
  18.         if (CheckNull())
  19.             Response.Write("通过验证!");
  20.         else
  21.             Response.Write("第一列不可为空,且不可隔行添写!");
  22.     }
  23.     /// <summary>
  24.     /// 判断是否隔行添写数据。
  25.     /// </summary>
  26.     /// <returns></returns>
  27.     private bool CheckNull()
  28.     {
  29.         bool b = true;
  30.         ArrayList arr = new ArrayList();
  31.         arr.Add(this.tb1.Text.Trim());
  32.         arr.Add(this.tb2.Text.Trim());
  33.         arr.Add(this.tb3.Text.Trim());
  34.         arr.Add(this.tb4.Text.Trim());
  35.         for (int i = 0; i < arr.Count; i++)
  36.         {
  37.             if (arr[i].ToString() == "")//如果这列为空,则判断后面的列是否有值。
  38.                 for (int j = i + 1; j < arr.Count; j++)
  39.                 {
  40.                     if (arr[j].ToString() != "")
  41.                         b = false;
  42.                 }
  43.         }
  44.         return b;
  45.     }
  46. }

end

原创粉丝点击