将鼠标离开输入框自动检测数据库的代码改为点击按钮再开始检测

这段代码由于鼠标离开输入框自动检测数据库的体验太差,请帮忙改编为点击按钮开始检测,谢谢大家!!!!
另如果有更好的方法欢迎提供
以下代码

<!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(); }

当鼠标离开输入框自动检测数据库是否存在该用户名

用户名: