清除Textbox的Text中内容(1.某一个panel中的textbox的text / 2.页面上所有textbox的text内容)


大家在做用户信息注册的时候,想必当注册信息错误的时候会有清除所有填写的信息,让注册者重新填写的一种可能。而这个清除用户input内容的功能如何实现呢?

今天我就来分享分享。

首先:使用最原始最简单的C#后台代码来实现

  1. 清除界面上所有textbox的text内容

    细想一下它无非就是遍历界面上的所有控件,如果是textbox则清除它的text内容。

   具体实现方法见下:

foreach(control co in panel1.Controls)
{
     if(co.getType()=="textBox")
    {
       co.text =""
    }
}

  这种方法是错误的,无法调用text属性。

正确的方法应该是:

  public void ClearPanel1()
    {
        FieldInfo[] infos = GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
        for (int i = 0; i < infos.Length; i++)
        {
            if (infos[i].FieldType == typeof(TextBox))
            {
                ((TextBox)infos[i].GetValue(this)).Text = "";
            }
        }
    }

  这是采用C#后台代码来实现清空textbox的text内容。这样写会给服务器带来很大的负担,为什么不写到客户端呢?

 

下面是采用客户端来实现的:

 

function ClearAllText(){
          var TextBox = document.getElementsByTagName("INPUT");
          for(var Count=0;Count<TextBox.length;Count++)
         {
            if(TextBox[Count].type.toUpperCase() == "TEXT")
            {
                TextBox[Count].value = ""; 
             } 
          }

  此方法是清除界面上所有的textbox内容。

 

而下面一种则是我认为比较好的一种,通过<div>将页面快包起来,当需要清除的时候清除<div>中的textbox的text内容就可以了,如此这不会清空整个页面的。

具体实现方法如下:

 

<script type="text/javascript">
        function $(id) {
            return document.getElementById(id);
        }
        function ClearText() {
            var nodes = $("DivPanel1").childNodes;
            for (var i = 0; i < nodes.lengeth; i++) {
                if (nodes[i].type.toUpperCase()=="TEXT") {
                    nodes[i].value = "";
                }
            }  
         
        }
    </script>

  

 

    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM