ecshop模板中如何实现局部刷新

本文介绍了一个使用Ajax实现的简单用户注册系统。该系统能在用户输入用户名或邮箱后,通过Ajax请求检查数据库中是否存在相同的记录,并实时反馈结果。

建立一个ajax.js文件,代码如下:

   // JavaScript Document
   var xmlHttp;
   function S_xmlhttprequest()
   {
   xmlHttp=null;
  if (window.XMLHttpRequest)
   {// code for IE7, Firefox, Opera, etc.
  xmlHttp=new XMLHttpRequest();
   }
  else if (window.ActiveXObject)
  {// code for IE6, IE5
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   }
  
   function getName(name)
   {
   
    if(name = document.myform.name.value)
    {
       S_xmlhttprequest();
    xmlHttp.open("get","date.php?name="+name,true);
    xmlHttp.onreadystatechange = byname;
    xmlHttp.send(null);
    }
   
   }
  
   function byname()
   {
    if(xmlHttp.readyState ==1)
    {
     document.getElementById('name').innerHTML = "<font color=red>loading....</font>";
    }
    if(xmlHttp.readyState == 4)
    {
     if(xmlHttp.status == 200)
     {
      var name = xmlHttp.responseText;
      document.getElementById('name').innerHTML = name;
     }
    }
   }
    function getEmail(email)
   {
     var email = document.myform.email.value;
    if(email =="")
    {
     alert("用户名不能为空");
     document.myform.email.focus();
     return false;
    }
    else
    {
       S_xmlhttprequest();
    xmlHttp.open("get","date.php?email="+email,true);
    xmlHttp.onreadystatechange = byemail;
    xmlHttp.send(null);
    }
   
   }
    function byemail()
   {
    if(xmlHttp.readyState ==1)
    {
     document.getElementById('email').innerHTML = "<font color=red>loading....</font>";
    }
    if(xmlHttp.readyState == 4)
    {
     if(xmlHttp.status == 200)
     {
      var email = xmlHttp.responseText;
      document.getElementById('email').innerHTML = email;
     }
    }
   }

建立一个register.php文件,代码如下:

<title>注册页面</title>
<script src="Ajax.js" language="javascript">
</script>
<body>
<form action="" method="post" name="myform">
<table align="center">
<tr><td>用户名:</td><td><input type="text" name="name" value="" onblur="getName('name')"/></td><td><div id="name"><font color="#CC66CC">*用户名必填*</font></div></td></tr&gt;
<tr><td>邮箱:</td><td><input type="text" name="email" value="" onblur="getEmail('email')"/></td><td><div id="email"><font color="#CC66CC">*邮箱必填*</font></div></td></tr>
</table>
</form>
建立一个date.php页面,用于查询数据库 :

  <?
   sleep(1);
   $connt = mysql_connect("localhost","root","123456");
   mysql_select_db('test',$connt );
   mysql_query("set names 'gb2312'");
 if($_GET['name'])
   {
    $name = $_GET['name'];
   $sql = "select * from test where name='$name'";
   $restul = mysql_query($sql);
   $array = mysql_fetch_row($restul);
  // print_r($array);
   if(is_array($array))
   {
    echo "<font color='red'>该用户名已经存在</font>";
   }
   else
   {
    echo "<font color='red'>该用户名可以用</font>";
   }
  }
  if($_GET['email'])
   {
    $name = $_GET['email'];
   $sql = "select * from test where email='$email'";
   $restul = mysql_query($sql);
   $array = mysql_fetch_row($restul);
  // print_r($array);
   if(is_array($array))
   {
    echo "<font color='red'>该邮箱已存在</font>";
   }
   else
   {
    echo "<font color='red'>该邮箱可以用</font>";
   }
  }
?>


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值