编程论坛's Archiver

koka2009 发表于 2006-7-29 17:01

ajax验证输入数据代码

那位大哥有ajax验证注册数据验证的代码,给个参考一下吧。最好能实现异步传输,验证用户名是否存在。

hangxj 发表于 2006-8-7 11:06

<P>最近刚在网上看到一个,然后自己修改一下,还有很多不足的地方,自己改改吧,要是改得更好了,麻烦通知一下,让我也学一下<br><br><STRONG>index.asp</STRONG><br><br>[CODE]<br>&lt;script language="javascript" type="text/javascript"&gt;<br>var xmlHttp = false;<br>try {<br>  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");<br>} catch (e) {<br>  try {<br>    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");<br>  } catch (e2) {<br>    xmlHttp = false;<br>  }<br>}<br>if (!xmlHttp &amp;&amp; typeof XMLHttpRequest != 'undefined') {<br>  xmlHttp = new XMLHttpRequest();<br>}<br>function callServer() {<br>  var u_name = document.getElementById("u_name").value;<br>  if ((u_name == null) || (u_name == "")) return;<br>  var url = "cu.asp?name=" + escape(u_name);<br>  xmlHttp.open("GET", url, true);<br>  xmlHttp.onreadystatechange = updatePage;<br>  xmlHttp.send(null);  <br>}<br>function updatePage() {<br>  if (xmlHttp.readyState &lt; 4) {<br>    test1.innerHTML="loading...";<br>  }<br>  if (xmlHttp.readyState == 4) {<br>    var response = xmlHttp.responseText;<br>    test1.innerHTML=response;<br>  }<br>  if (test1.innerHTML=="已被注册"){<br>    document.form1.submit.disabled=true}<br>  else{<br>    document.form1.submit.disabled=false<br>  }<br>}<br>&lt;/script&gt;</P>
<P>&lt;form name="form1" action="t1.asp" method="post" autocomplete="off"&gt;<br>用户名: &lt;input type="text" name="u_name" id="u_name" onkeyup="callServer();" /&gt;<br>&lt;span id="test1"&gt;是否能注册&lt;/span&gt;&lt;br&gt;<br>密 码:&lt;input type="password" /&gt;<br>&lt;input type="submit" name="submit" value="注册" /&gt;<br>&lt;/form&gt;<br>&lt;%Session.CodePage=936%&gt;<br>[/CODE]</P>
<P><STRONG>cu.asp</STRONG><br><br>[CODE]&lt;%<br>Response.Buffer = True <br>Response.ExpiresAbsolute = Now() - 1 <br>Response.Expires = 0 <br>Response.CacheControl = "no-cache" <br>Response.AddHeader "Pragma", "No-Cache"<br>%&gt;<br>&lt;!--#include file="conn.asp"--&gt;<br>&lt;%<br>name=request.querystring("name")<br>if Len(name)&lt;4 or Len(name)&gt;20 then<br>    response.write("长度不对")<br>else<br>Set rs = Server.CreateObject ("ADODB.Recordset")<br>sql = "Select * from u_ser where u_name='"&amp;name&amp;"'"<br>rs.Open sql,conn,1,1<br>if rs.eof and rs.bof then<br>    response.write("可以注册")<br>else<br>    response.write("已被注册")<br>end if<br>rs.close<br>set rs=nothing<br>end if<br>call CloseDatabase<br>%&gt;[/CODE]<br><br><STRONG>conn.asp</STRONG><br>自己写吧!!<br><br></P>
[align=right][color=#000066][此贴子已经被作者于2006-8-7 11:06:33编辑过][/color][/align]

koka2009 发表于 2006-8-7 11:16

多谢,我自己再细心研究一下,有新发现一定相告。

koka2009 发表于 2006-8-7 14:37

<P>上面的call CloseDatabase是什么意思?关闭数据库连接的?还是其他用途。请指教</P>

hangxj 发表于 2006-8-8 10:40

<P>call CloseDatabase 是在CONN.ASP这个页面定义的,用来关闭数据库连接的.<BR><BR>CONN.ASP<BR><BR>[CODE]&lt;%<BR>on error resume next<BR>db_path = "db1.mdb"<BR>Set conn= Server.CreateObject("ADODB.Connection")<BR>connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&amp;Server.MapPath(db_path)<BR>conn.Open connstr<BR>Function CloseDatabase<BR>    Conn.close<BR>    Set conn = Nothing<BR>End Function<BR>%&gt;[/CODE]</P>

hangxj 发表于 2006-8-8 10:49

补充说明:<BR>如果出现乱码的话,请在index.asp页面的前面加上<BR>&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.