<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>自动校验的表单</title>
<script language="javascript">
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
}
function showResult(sText){
var oSpan = document.getElementById("UserResult");
oSpan.innerHTML = sText;
if(sText.indexOf("already exists") >= 0)
//如果用户名已被占用
oSpan.style.color = "red";
else
oSpan.style.color = "black";
}function startCheck(oInput){
//首先判断是否有输入,没有输入直接返回,并提示
if(!oInput.value){
oInput.focus(); //聚焦到用户名的输入框
document.getElementById("UserResult").innerHTML = "User cannot be empty.";
return;
}
//创建异步请求
createXMLHttpRequest();
var sUrl = "10.php?user=" + oInput.value.toLowerCase() + "&timestamp=" + new Date().getTime();
xmlHttp.open("GET",sUrl,true);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
showResult(xmlHttp.responseText); //显示服务器结果
}
xmlHttp.send(null);
}
</script>
</head>
<body>
<form name="register">
<table cellpadding="5" cellspacing="0" border="0">
<tr><td>用户名:</td><td><input type="text" onblur="startCheck(this)" name="User"></td> <td><span id="UserResult"></span></td> </tr>
<tr><td>输入密码:</td><td><input type="password" name="passwd1"></td> <td></td> </tr>
    <tr><td>确认密码:</td><td><input type="password" name="passwd2"></td> <td></td> </tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="注册">
        <input type="reset" value="重置">
</td> <td></td>
</tr>
</table>
</form>
</body>
</html>
以上代码的功能是判断用户名是不是被注册了,但当输入用户名的时候,showResult函数提示正确,如果此用户已经在数据库中存在的话,提示此用户已经被注册,如果数据库中没有此用户的话,提示此用户可以注册,但这样有一个问题,就是单击“注册”按钮的时候还试可以提交的,大家能告诉我,在用一个什么函数可以控制下,当用户没有输入“用户名”的时候不能单击提交按钮,或者单击了了也不动。谢谢

解决方案 »

  1.   

    <form name="register" onSubmit = "return showResult('')">
      

  2.   

    这个? 今天不想写CODE!  你自己看着办吧!  其实你可以在加载网页的时候 就是提交按钮不可用  在用户名 输入框 设置onblur   判断 用户名是否为空
      

  3.   

    <form name="register" onSubmit = "return showResult('')">  //返回true会提交,否则仍然停留在本页面。function showReult(){
     if(可以注册)
       return true; 
     else 
       return false;
     
    }
      

  4.   

    北京招聘web前端开发工程师,工作在中关村,待遇6-10K,要求精通JS。考虑换工作联系我[email protected]