我现在想实现如下内容:三个text控件.分别是用户名.姓名,密码.我想当鼠标点到text控件后.旁边有个浮动的div显示出用户名输入的要求.点到姓名.密码也显示它的要求.然后用一个div实现.不想有三个.怎么做谢谢?

解决方案 »

  1.   

    不难,给text控件加上onfocus事件,显示/隐藏那个div即可
      

  2.   


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    window.onload = function(){
    var oInputs = document.getElementsByTagName('input');
    for(var i = 0; i < oInputs.length; i++){(function(){
    if(this.type == 'text'){
    this.onfocus = function(){
    var div = document.createElement('div');
    div.id = this.id;
    var text = '';
    switch(this.id){
    case 'user':text = '用户名'; break;
    case 'name':text = '姓名'; break;
    case 'password':text = '密码'; break;
    }
    div.appendChild(document.createTextNode(text));
    this.parentNode.appendChild(div);
    };
    this.onblur = function(){
    this.parentNode.removeChild(this.parentNode.childNodes[2]);
    };
    }
    }).call(oInputs[i])}
    };
    </script>
    </head><body>
    <div>用户名:<input type="text" id="user" /></div><br />
    <div>姓名:<input type="text" id="name" /></div><br />
    <div>密码:<input type="text" id="password" /></div><br />
    </body>
    </html>
      

  3.   


    <script>
    function doit(obj){
    var div = document.getElementById("pad");
    div.innerHTML = obj.getAttribute("rel");
    var ns = obj.nextSibling;
    if(ns) obj.parentNode.insertBefore(div,ns); 
        else obj.parentNode.appendChild(ns); 
    div.style.display = "inline";
    }
    </script>
    <form>
    用户名<input type="text" name="username" rel="用户名是数字字母" onfocus="doit(this)"><br>
    .姓名<input type="text" name="name" rel="姓名是数字字母" onfocus="doit(this)"><br>
    ,密码<input type="text" name="password" rel="密码是数字字母" onfocus="doit(this)"></form>
    <div id="pad" style="display:none"></div>
      

  4.   

    6楼的方法应该是只能固定的现实在某一个位置
    如果能将位置浮动在对应的控件边上,那应该是楼主想要的吧
    var x = window.event.x;
    var y = window.event.y;
    var show = document.getElementById("pad");
    show.style.visibility = "visible";
    show.style.top = y-20;
    show.style.left = x+10;大概这样,可以试试
      

  5.   

    楼主要的是用一个div实现呀。
    这样的话,在input改变时,也要改变div中的提示内容,如果要让div随着移动的话,就要在input的onfocus里来更改div的显示位置。我还看到过另一种解决方案,用一个大div包含三个小div,三个小div里分别写好提示信息,当需要时,显示要的那个,同时隐藏不需要的那两个,效果也是很不错的。