<!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() + "×tamp=" + 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函数提示正确,如果此用户已经在数据库中存在的话,提示此用户已经被注册,如果数据库中没有此用户的话,提示此用户可以注册,但这样有一个问题,就是单击“注册”按钮的时候还试可以提交的,大家能告诉我,在用一个什么函数可以控制下,当用户没有输入“用户名”的时候不能单击提交按钮,或者单击了了也不动。谢谢
<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() + "×tamp=" + 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函数提示正确,如果此用户已经在数据库中存在的话,提示此用户已经被注册,如果数据库中没有此用户的话,提示此用户可以注册,但这样有一个问题,就是单击“注册”按钮的时候还试可以提交的,大家能告诉我,在用一个什么函数可以控制下,当用户没有输入“用户名”的时候不能单击提交按钮,或者单击了了也不动。谢谢
解决方案 »
- 一个简单的正则表达式,不解,请教
- js让怎么可以让单元格可以输入
- 关于javascript中window.open模式交页面的javascript多维数组付值方法讨论!
- document.form1.cb[i].checked 变量问题一直没搞明白!
- 来者有分 清除历史纪录代码
- 关于用SCRIPT函数实现折叠区域的问题
- 请教这个简单的javaScript函数问题
- 关于object与html结合的问题,急,在线等待!
- 。。。。。。。。。。。。哪里有。。。。。。。。。。。。
- 100分,聊天室中那个不断滚动的发言信息叶面是动态网页吗,怎么就会这么不停的滚呢,原理?
- 怎么自定义XHTML中JS写入代码的位置?
- Javascript高手进!帮解决几道面试题,急!!
if(可以注册)
return true;
else
return false;
}