做的ASPX页面,其中既包含<asp:textbox>也包含<input type="text"> 
我想实现,文本框获得焦点时候清空默认文字,但每个上都写事件太麻烦了,有什么统一方法吗?同时对两种文本框有效的。

解决方案 »

  1.   

    onfocus()事件肯定要绑定的,可以写js脚本取得所有<input type="text"> ( <asp:textbox>在客户端实际也是这个),然后写函数清空其值
      

  2.   

    window.onload=function(){
    var a=document.getElementsByTagName('input');
    for(var i=0;i<a.length;i++){
    if(a.type='text'){
    a.onfocus=function(){event.srcElement.value='';};
    }
    }
    }
      

  3.   

    window.onload=function(){ 
      var a=document.getElementsByTagName('input');
      var i;
      for(i=0;i <a.length;i++){ 
        if(a[i].type='text'){ 
          a[i].onfocus=function(){this.value='';}; 
        } 
      } 
      a=document.getElementsByTagName('textarea');
      for(i=0;i <a.length;i++){ 
        a[i].onfocus=function(){this.value='';}; 
      } 
    }
      

  4.   

    上面的写法都很好,也可以这样function document.onclick(){
       if(event.srcElement.tagName="input"){
          event.srcElement.value="";
       }
    }注:这种方式只支持鼠标点击清空哈
      

  5.   

    2L 3L 的朋友。我照你们这写法做,会提示 无法得到type属性,不支持该命令。
    IE7.0
      

  6.   

    jquery写法:
      <script language="javascript">
      $(function(){
       $(":text").focus(function(){this.value="";});
       $("textarea").focus(function(){this.innerText="";});
      });
      </script>
      

  7.   

    9L,小弟不才。。
    jquery框架没研究过啊。。
      

  8.   

    xxx.type=='text'
      

  9.   

    这样还不行。。我body的onload有事件,如果吧这个方法再加进去,网页变的非常慢了。
    我的文本框大多都集中在以个DIV例,,能不能写到div的事件里??
      

  10.   

    可以, 只要保证加载<script>时, 所有应添加监听的input已经生成就可以了=>9L 如果用jquery 请用$(this).val(''); 和 $(this).text(''); 效果一样, 但是纯正一些.=>2L 非常好, 不过srcElement是IE-ONLY, 还是3L的好一些. 把'='换成'=='就好了 -. -=>7L 还是用focus最好
      

  11.   

    很慢是不是因为文本框太多了,这个没办法了,要onfocus只能对单个文本框