利用disabled=true,使提交按钮变成灰色,不能提交

验证用户是否正确,错误的话,会在用户名后显示用户名错误,并利用disabled=true,使提交按钮变成灰色,不能提交,正确的话,disabled=false(提交按钮不变色,可用)
步骤:先建立一个登陆表单,在用户名失焦时调用checkUser()函数,验证用户名是否等于csdn(csdn是定义的,并不是从数据库中获取的),用户名后还有个图层,会显示是否用户名正确


1、index.html
<title>CSDN学院2011级PHP 聊天室</title>
<script language="javascript" type="text/javascript" src="yanzheng.js"></script>

</head>
<body>
<form action="chatindex.php" method="post">
<table width="300" border="0" align="center">
  <tr>
    <td colspan="2" align="center">欢迎使用PHP聊天室</td>
  </tr>
  <tr>
    <td>用户名:</td>
    <td><label for="textfield"></label>
    <input type="text" name="username" id="username" οnblur="checkUser()" /><br><!--当失去焦点时会调用函数,该函数验证用户名是否存在-->
    <span id="userinfo"></span></td>
  </tr>
  <tr>
    <td>密码:</td>
    <td><input type="password" name="password" id="password" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="button" id="btn_submit" value="提交" />
    <input type="reset" name="button2" id="reset" value="重置" /></td>
  </tr>
</table>
</form>

</body>
2、yanzheng.js
var xhr;
//该方法解决IE低版本的创建ajax对象差异的问题
function initAjax(){
 
 //判断是否是IE浏览器
 if(window.ActiveXObject){
   //如果是IE浏览器就这样创建对象
   xhr=new ActiveXObject("Microsoft.XMLHTTP");
 }else{
   alert("-----");
   //如果是火狐或者其他浏览器就这样创建
   xhr=new XMLHttpRequest();
 }
 
 return xhr;
}
function checkUser(){
 
 //获取用户输入的内容
 var username=document.getElementById("username").value;

 //作为参数传递到服务器端
 //1、初始化ajax引擎  XMLHttpRequest() ajax引擎
    xhr =initAjax();
    //2、定义ajax异步请求的路径  encodeURI()帮我们玩成将中文进行编码
    var url="logincheck.php?uname="+encodeURI(username)+"&r="+Math.random();//把用户名传给参数uname

    //3、打开链接  open("请求方法",请求的服务器路径,true 异步/false 同步)
    xhr.open("get",url,true);
    //4、发送请求
    xhr.send(null);
    //5、监听ajax引擎状态,如果已经完成    function (){} 匿名函数,特点:不需要调用,会立即执行
    xhr.onreadystatechange=function (){  
   //判断ajax是否和服务器交互完成(取得数据)
   if(xhr.readyState==4){   
   
    //服务器端进行查询,根据查询结果 如果查询到返回1,如果未查询到返回0
    if(xhr.responseText*1){//*1是为了构成0或1,responseText返回的是或1,在乘1,还是0或1
     
     //如果用户名存在,我们让提交按钮可用  按钮的disabled=true 灰色,=false 表示可用,不变色
       document.getElementById("btn_submit").disabled=false;//btn_submit提交按钮的id     
       //如果用户名正确,则我们设置span内容为空
    document.getElementById("userinfo").innerHTML="";//userinfo是用户名后的span的id,用户名正确时,图层清空,不显示任何内容
    }else{
     
     //如果用户名不存在,我们让提交按钮不可用(变成灰色的)
     document.getElementById("btn_submit").disabled=true;
     //在用户名输入框后,提示一句话"用户名不存在"
     document.getElementById("userinfo").innerHTML="<font color='red' size='2'>用户名不存在!</font>";
     
     }
 
   
     
   }  
  };
 
 
 
}
3、logincheck.php
<?php

$user=$_GET['uname'];//ajax中用get传递的
//比较用户名是否等于 csdn,就把用户名定义成csdn
if($user=="csdn"){
 
 echo "1";
}else{
 echo "0";
 
 }

 ?>

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值