显示默认文字,当用户点击,准备输入的时候,文字消失,当用户输入了文字,以后不再产生,
如果没有输入,贯标离开的时候,则继续提示?

解决方案 »

  1.   

    这是需要定义TextBox的事件的,比如焦点进入,焦点离开。
      

  2.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default10.aspx.cs" Inherits="_601_Default10" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
       <script type="text/javascript">
         function aa(obj)
         {
            obj.value = "";
         }
         function bb(obj)
         {
            obj.value = "请输入";
         }
       </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server" Text="请输入" onfocus="aa(this);" onblur="bb(this);"></asp:TextBox>
        </div>
        </form>
    </body>
    </html>
      

  3.   

    发在c#论坛,你没有说清楚它是asp.net产生的所谓html/javascript还是其它的平台TextBox。微软的开发平台,横跨很多领域,最好不要把具体平台的控件问题放在c#论坛里。基本上来说就事论事地,他的流程是:textbox控件应该有自己的bool型扩展属性,来说明是否录入了数据。默认情况下它的Text属性以及样式是一种,然后当keydown的时候检查这个扩展属性(是否录入了数据?),如果现在的值是true则执行一次(而且仅仅一次)功能:将当前默认值变成了正常的初始值(空字符串)以及正常的显示样式。
      

  4.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function click1()
            {
                var content = document.getElementById("txtContent");
                if (content.value == "请输入内容...")
                {
                    content.value = "";
                }
            }
            function mouseout()
            {
                var content = document.getElementById("txtContent");
                if (content.value == "")
                {
                    content.value = "请输入内容...";
                } 
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <input id="txtContent" type="text" style="width:150px;" value="请输入内容..." onclick="javascript:click1();" onmouseout="javascript:mouseout();" />
        </div>
        </form>
    </body>
    </html>
      

  5.   

    补充一下我在#12楼的,实际上在你将TextBox的内容和样式修改为正常之时,要将那个bool类型的标记设置为false,使得以后不再设置为初始状态。如果按照某些人所说,在获得焦点是就给它变成初始样式,那么当有正常输入数据时也覆盖了以前的正常输入。如果是在失去焦点时就变成初始样式,那么当有正常输入时也是覆盖了正常输入。所以就是必定要有一个属性标记是否第一次输入过数据。
      

  6.   

    我改下14楼的<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title></title>
      <script type="text/javascript">
      function click1(){
          var content = document.getElementById("txtContent");
          if (content.value == "请输入内容..."){
          content.value = "";
          }
      }
      function mouseout(){
         var content = document.getElementById("txtContent");
          if (content.value == "") {
             content.value = "请输入内容...";
          }  
      }
      </script>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
      <input id="txtContent" type="text" style="width:150px;" value="请输入内容..." onclick="javascript:click1();" onblur="javascript:mouseout();" />
      </div>
      </form>
    </body>
    </html>
      

  7.   

    写个脚本  onblur事件 onfocus事件 获得焦点和失去焦点
      

  8.   


       function aa(obj)
         {
            if(obj.value == "请输入")
            {
               obj.value = "";
            }        
         }     function bb(obj)
         {
            if(obj.value == "")
            {
                obj.value = "请输入";
            }       
         }
      

  9.   

     这里是C#区域,怎么都是JS的啊,我纠结了,刚看了下,VS下TEXTBOX有个属性的,但是再次点击就不行了,不如在旁边加个LABLE,直接提示好了
      

  10.   

    webform 还是winform? 看的晕晕乎乎 这问题 百度一下就有了  干嘛这么大动干戈
      

  11.   

    13楼的说的对,
    在WinForm里面先选中文本框,在属性里点击事件,即像闪电一样的图标,然后再里面找以下的事件名,双击。
    private void nameTextBox_MouseEnter(object sender, EventArgs e)
            {
                //当鼠标进入nameTextBox文本框内时,
                //如果文本框等于空,则显示“最多输入4个字符”            if (nameTextBox.Text == "")
                {
                    nameTextBox.Text = "最多输入4个字符";
                }  
            }        private void nameTextBox_MouseClick(object sender, MouseEventArgs e)
            {
                //当鼠标单击nameTextBox文本框时,
                //如果文本框等于空,则显示“最多输入4个字符”            if (nameTextBox.Text == "最多输入4个字符")
                { 
                    nameTextBox.Text = "";
                }
            }        private void nameTextBox_MouseLeave(object sender, EventArgs e)
            {
                //当鼠标离开nameTextBox文本框时
                //如果文本框显示“最多输入4个字符”,则清空            if (nameTextBox.Text == "最多输入4个字符")
                { 
                    nameTextBox.Text = "";
                } 
            }