我现在想实现如下内容:三个text控件.分别是用户名.姓名,密码.我想当鼠标点到text控件后.旁边有个浮动的div显示出用户名输入的要求.点到姓名.密码也显示它的要求.然后用一个div实现.不想有三个.怎么做谢谢?
解决方案 »
- 新手求指导,毕业设计
- 第一次使用csdn不怎么会使用,
- JS打开新窗口的问题
- window.open返回对象的传递问题
- 关于onMouseOver,onMouseOut,onClick三者要实现的一个效果
- 要如何在文本框中边输边出现相应的提示?
- 如何在jscript中定义一个对象,最好有例子,谢谢
- 想实现点击一个链接,在两个iframe(比如iframe1,iframe2)显示相关页面,如何?
- 送代码!随手写的一个动态添加删除行的HTC行为组件
- 不查注册表,使用什么工具获得注册控件的clsid?
- jquery1.3.2 判断哪些复选框选中, 奇怪的问题。
- 求一个多表转换JSON的函数,什么语言写的都行。
<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>
<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>
如果能将位置浮动在对应的控件边上,那应该是楼主想要的吧
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;大概这样,可以试试
这样的话,在input改变时,也要改变div中的提示内容,如果要让div随着移动的话,就要在input的onfocus里来更改div的显示位置。我还看到过另一种解决方案,用一个大div包含三个小div,三个小div里分别写好提示信息,当需要时,显示要的那个,同时隐藏不需要的那两个,效果也是很不错的。