清除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