我想做一个textarea, 框内有预设提醒内容,当鼠标点击框后,提醒内容消失,若无输入则恢复提醒内容,请问用JS怎么实现啊??
textarea不能用xxx.value="";去消除预设内容 ,所以不知道怎么办啊~~
还有进一步疑问就是 ,如果我想为多个textarea设置通用的函数去取消和回复预设提醒内容,
应该怎么设置呢??单行文本输入有一个defaultValue去代替不同的预设提醒内容,那多行文本输入
呢??应该也有一个可以代替不同预设提醒内容的名称吧?
求高手指教~~~

解决方案 »

  1.   

    若无输入则恢复提醒内容??什么意思啊?要保留原有输入么?<html>
    <head>
    <script>
    window.onload=function(){
                document.getElementById("AAA").value = "hahhahha";
    }
    </script>
    </head>
    <body>
    <textarea rows="10" cols="100" id="AAA"  value="hahahhaha" onfocus="clearText()"></textarea>
    <script>
      function clearText() {
                document.getElementById("AAA").value = "";
            }
    </script>
    </body>
    </html>
    这个意思行不?
      

  2.   

    若无输入则恢复提醒内容??什么意思啊?要保留原有输入么?<html>
    <head>
    <script>
    window.onload=function(){
      document.getElementById("AAA").value = "hahhahha";
    }
    </script>
    </head>
    <body>
    <textarea rows="10" cols="100" id="AAA" value="hahahhaha" onfocus="clearText()"></textarea>
    <script>
    function clearText() {
      document.getElementById("AAA").value = "";
      }
    </script>
    </body>
    </html>这个意思行不?
      

  3.   

    如果想要更深一步的话:
    这样如何?<html>
    <head>
    <script>
    window.onload=function(){
                document.getElementById("AAA").value = "请点此输入:";
    }
    </script>
    </head>
    <body>
    <textarea rows="10" cols="100" id="AAA"  onfocus="clearText()" onblur="reset()"></textarea>
    <script>
    var content="";
      function clearText() {
                document.getElementById("AAA").value = content;
            }
    function reset(){
          content=document.getElementById("AAA").value
       document.getElementById("AAA").value = "请继续输入:";
    }
    </script>
    </body>
    </html>
      

  4.   

    跟这个一样 <input name="tbName" type="text" class="form1" id="tbSearch" onfocus="if(this.value=='请输入2-6个字母') {this.value='';}this.style.color='#666';" onblur="if(this.value=='') {this.value='请输入2-6个字母';this.style.color='#999';}"
                                        value=" 请输入2-6个字母" size="20" maxlength="20" />
      

  5.   

    textarea不能用xxx.value="";去消除预设内容 
    这是可以的呀。是不是你得到的对象:xxx是不是不是textarea对象。
      

  6.   


    <!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" xml:lang="cn">
    <head>
    <title>textarea</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <script type="text/javascript"> //提示内容:(默认值)
    var c = '请输入内容:';

    function on_focus(obj){
    obj.value = obj.value==(!!arguments[1]?arguments[1]:c)?'':obj.value;


    function on_blur(obj)
    {
    obj.value = obj.value==''?(!!arguments[1]?arguments[1]:c):obj.value;
    }
    </script>
    </head><body>
    <textarea name="test1" cols="30" rows="10" id="test1" onfocus="on_focus(this)" onblur="on_blur(this)">请输入内容:</textarea>
    <textarea name="test2" cols="30" rows="10" id="test2" onfocus="on_focus(this,'提示内容:test')" onblur="on_blur(this,'提示内容:test')">提示内容:test</textarea>
    <textarea name="test3" cols="30" rows="10" id="test3" onfocus="on_focus(this,'提示内容:abc')" onblur="on_blur(this,'提示内容:abc')">提示内容:abc</textarea>
    </body>
    </html>
      

  7.   

    大哥写的通用性真高呀,我就只能写到这程度了:<html>
    <head>
    <title>New Test</title>
    <script type="text/javascript">
    var message="点此输入!";
    var objText;String.prototype.trim=function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
    }function load(){
    objText=document.getElementById("inputBox");

    objText.value=message;
    }
    function clearText(){
    if(objText.value==message)
    objText.value="";
    }
    function reset(){
    objText.value=objText.value.trim()?objText.value:message;
    }
    </script>
    </head>
    <body onload="load()">
    <textarea id="inputBox" onfocus="clearText()" onblur="reset()"></textarea>
    </body>
    </html>
      

  8.   

    textarea的value属性的值就上其标签对中的内容
    <form>
    <input type="text" value="姓名" /><br />
    <input type="password" value="密码" /><br />
    <textarea>预设内容001</textarea><br />
    <textarea>预设内容002</textarea><br />
    <input type="radio" name="sex" />BOY&nbsp;&nbsp;<input type="radio" name="sex" />Girl<br />
    <textarea>预设内容002</textarea><br />
    </form>
    var elms=document.forms[0].elements;
    for(var i=0;i<elms.length;i++){
    if(elms[i].type!="textarea"){
    continue;
    }
    check(elms[i]);
    }
    function check(elm){
    var txt=elm.value;
    elm.onclick=function(){
    if(this.value==txt){
    this.value="";
    };
    }
    elm.onblur=function(){
    if(this.value.replace(/\s/g,"")==""){
    this.value=txt;
    }
    }
    }
      

  9.   

    框内有预设提醒内容,当鼠标点击框后,提醒内容消失,若无输入则恢复提醒内容---给定一个获得焦点和失去焦点事件,如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <script type="text/javascript">
    window.onload=function(){
    document.getElementById("AAA").value="请输入:";
    }
    function clearText(){
    document.getElementById("AAA").value="";
    }
    function Write()
    {
    document.getElementById("AAA").value="请输入:"
    }
      </script>
      
     </HEAD> <BODY>
      <textarea rows="10" cols="100" id="AAA" value="hahahhaha" onfocus="clearText()" onblur="Write()"></textarea> </BODY>
    </HTML>