问题描述
- 将鼠标离开输入框自动检测数据库的代码改为点击按钮再开始检测
-
这段代码由于鼠标离开输入框自动检测数据库的体验太差,请帮忙改编为点击按钮开始检测,谢谢大家!!!!
另如果有更好的方法欢迎提供
以下代码<!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> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>用户注册名检测</title> <script> function showHint(str) { if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// 针对 IE7+, Firefox, Chrome, Opera, Safari 的代码 xmlhttp=new XMLHttpRequest(); } else {// 针对 IE6, IE5 的代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var viewtxt=xmlhttp.responseText; document.getElementById("txtHint").innerHTML=viewtxt; } } xmlhttp.open("GET","y.asp?q="+str,true); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gb2312"); xmlhttp.send(); } </script> </head><body> <p><b>当鼠标离开输入框自动检测数据库是否存在该用户名</b></p> <form action="ab.asp" method="post"> <table width="600" height="42" border="0" cellpadding="0" cellspacing="1" bgcolor="#999999"> <tr> <td width="130" height="40" align="center" bgcolor="#FFFFFF">用户名:</td> <td width="207" bgcolor="#FFFFFF"> <input name="name" type="text" id="name" onmouseout="showHint(this.value)" size="20"></td> <td width="259" id="txtHint" bgcolor="#FFFFFF" style="text-indent:10px;"></td> </tr> </table> </form> </body> </html>
解决方案
如果只是一个input,把showHint(str)改成showHint(),在showHint函数内部通过document.getElementById('name').value获取输入框的值,在按钮的点击事件上绑定showHint函数即可
解决方案二:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
用户注册名检测
function showHint( id )
{
var str=document.getElementById( id ).value;
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// 针对 IE7+, Firefox, Chrome, Opera, Safari 的代码
xmlhttp=new XMLHttpRequest();
}
else
{// 针对 IE6, IE5 的代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var viewtxt=xmlhttp.responseText;
document.getElementById("txtHint").innerHTML=viewtxt;
}
}
xmlhttp.open("GET","y.asp?q="+str,true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gb2312");
xmlhttp.send();
}
当鼠标离开输入框自动检测数据库是否存在该用户名
用户名: |