asp检测记录重复问题

我现在新加记录的时候处理页面做了防止重复的处理,如果提交的记录在数据库里有存在,则提示失败。但是我觉得这样不太方便,因为要提交一下才能知道是否重复。我见过这样的网站,当你... 我现在新加记录的时候处理页面做了防止重复的处理,如果提交的记录在数据库里有存在,则提示失败。
但是我觉得这样不太方便,因为要提交一下才能知道是否重复。
我见过这样的网站,当你在这个表单输入完毕换到下一个表单的时候,如果数据是重复的,那么马上就会提示重复,这样就可以更方便的检测是否重复了。
请问这个技术怎么实现,麻烦给我实例,谢了。
展开
 我来答
匿名用户
2013-04-20
展开全部
给文本框赋予一个onChange(内容改变并失去焦点的时候触发)事件用js的ajax技术 提交文本框内容到asp页面进行查询处理,并返回一个值然后根据返回的值判断是否重复,如果重复则执行相关操作,比如淡出对话框要求修改等
匿名用户
2013-04-20
展开全部
这是AJAX技术的典型应用之一,虽然AJAX本身难度不小,但你需要的功能并不是很难实现,这里有一篇实例,你可以参考一下。网上很多这样的讲解,你也可以自己搜索看下。ASP+ajax实用用户唯一性检查和注册reg.asp:<!-- #include file="../inc/web_conn.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c />
<title>独孤剑---注册模块</title>
<link href="zp.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="/inc/main.js"></script>
<style type="text/css">
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.dd { width:200px; text-align:center;}
.STYLE2 {
font-size: 14px;
font-weight: bold;
color: #FFFFFF;
}
.z0056C2 {color:#0056C2;}
</style>
<script language="javascript">
<!--
var msg ;
var li_ok='images/li_ok.gif';
var li_err='images/li_err.gif'
var bname_m=false;
msg=new Array(
"推荐使用:·网易邮箱 ·QQ邮箱 ·SOHU邮箱",
"请输入4-14位字符,英文、数字的组合。",
"请输入6位以上字符,不允许空格。",
"请重复输入上面的密码。",
"请输入邮箱地址"
)
//document.getElementById("d_email").innerHTML=msg[0];
//document.getElementById("d_pass").innerHTML=msg[2];
//document.getElementById("d_pass2").innerHTML=msg[3];
//document.getElementById("d_name").innerHTML=msg[1];
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
function on_input(objname){
var strtxt;
var obj=document.getElementById(objname);
obj.className="d_on";
//alert(objname);
switch (objname){
case "d_email":
strtxt=msg[4];
break;
case "d_name":
strtxt=msg[1];
break;
case "d_pass":
strtxt=msg[2];
break;
case "d_pass2":
strtxt=msg[3];
break;
}
obj.innerHTML=strtxt;
}
function out_email(){
var obj=document.getElementById("d_email");
var str=document.getElementById("ys_email").value;
var chk=true;
if (str==''|| !str.match(/^[\w\.\-]+@([\w\-]+\.)+[a-z]{2,4}$/ig)){chk=false}
if (chk){
obj.className="d_ok";
obj.innerHTML='电子邮箱地址已经输入。';
document.getElementById("d_email_img").src=li_ok;
}else{
obj.className="d_err";
obj.innerHTML=msg[4];
document.getElementById("d_email_img").src=li_err;
}
return chk;
}
function out_upwd1(){
var obj=document.getElementById("d_pass");
var str=document.getElementById("ys_pass").value;
var chk=true;
if (str=='' || str.length<6 || str.length>14){chk=false;}
if (chk){
obj.className="d_ok";
obj.innerHTML='密码已经输入。';
document.getElementById("d_pass_img").src=li_ok;
}else{
obj.className="d_err";
obj.innerHTML=msg[2];
document.getElementById("d_pass_img").src=li_err;
}
return chk;
}
function out_upwd2(){
var obj=document.getElementById("d_pass2");
var str=document.getElementById("ys_pass2").value;
var chk=true;
if (str!=document.getElementById("ys_pass").value||str==''){chk=false;}
if (chk){
obj.className="d_ok";
obj.innerHTML='重复密码输入正确。';
document.getElementById("d_pass2_img").src=li_ok;
}else{
obj.className="d_err";
obj.innerHTML=msg[3];
document.getElementById("d_pass2_img").src=li_err;
}
return chk;
}
function chk_reg(){
var chk=true
if (document.getElementById("ys_name").value==''){chk=false;<br> d_name.className="d_err";<br> d_name.innerHTML=msg[1];<br> document.getElementById("d_uname_img").src=li_err;<br>}
if (!out_upwd1()){chk=false}
if (!out_upwd2()){chk=false}
if (!out_email()){chk=false}
if(chk){
document.getElementById('save_stat').innerHTML='<img src="images/loading.gif" align="absmiddle" />数据提交中……请稍候……'
document.getElementById('regbotton').disabled='disabled';
var username=document.regform.ys_name.value;
var password=document.regform.ys_pass.value;
var repassword=document.regform.ys_pass2.value;
var email=document.regform.ys_email.value;
//var url2 = "reg.asp?action=save&ys_name=+ "escape(username)"+&password=+ "escape(username)"+&email="+escape(email);
//var url2="reg.asp?action=save&username="+escape(username)+"&password="+escape(password)+"&email="+escape(email);
xmlHttp.open("POST", "saveuser.asp", true);
xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = saveuser;
xmlHttp.send("username="+escape(username)+"&password="+escape(password)+"&email="+escape(email));
}
}
function saveuser() {
if (xmlHttp.readyState < 4) {
d_name.innerHTML="loading...";
}
if (4==xmlHttp.readyState){
if (200==xmlHttp.status){
var date=xmlHttp.responseText;
if (date==1){
alert("用户注册成功!");
//window.location.href='\/exhibit';
window.location.href="reg.asp";
}else{
alert("注册发生错误!");
window.location.href="reg.asp";
}
}else{
alert("error");
}
}
}function callServer() {
var u_name = document.getElementById("ys_name").value;
if ((u_name == null) || (u_name == "")) {
d_name.className="d_err";
d_name.innerHTML=msg[1];
document.getElementById("d_uname_img").src=li_err;
chk=false
return chk;};
xmlHttp.open("POST", "checkuser.asp", true);
xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send("username="+escape(u_name));
}
function updatePage() {
if (xmlHttp.readyState < 4) {
d_name.innerHTML="loading...";
}
if (xmlHttp.readyState == 4 && 200==xmlHttp.status) {
var response = xmlHttp.responseText;
if (response==1)
{
d_name.className="d_ok";
d_name.innerHTML='恭喜用户名可以使用。';
document.getElementById("d_uname_img").src=li_ok;
}
else{
d_name.className="d_err";
document.getElementById("d_uname_img").src=li_err;
d_name.innerHTML="用户名已占用,请重新注册";
}
}
}
-->
</script>
</head>
<body>
<!-- #include file="../top.asp" -->
<table width="857" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="20" align="left" valign="top"> </td>
</tr>
<tr>
<td width="260" height="20" align="left" valign="top"><img src="images/zc-top.jpg" width="857" height="20" /></td>
</tr>
<tr>
<td height="20" align="left" valign="top"><table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="3" bgcolor="FF7300"></td>
<td align="center"><form id="regform" name="regform" method="post" action="reg.asp">
<table width="90%" cellspacing="0" cellpadding="0">
<tr>
<td height="15" colspan="4"></td>
</tr>
<tr>
<td height="35" colspan="4" align="left" class="blut_title">请填写注册信息:</td>
</tr>
<tr>
<td width="12%" align="left"><img src="images/button.jpg" width="11" height="11" id="d_email_img"/> Email:</td>
<td width="30%" height="30" align="left"><input name="ys_email" type="text" id="ys_email" size="30" /></td>
<td width="42%" align="left" colspan="2" class="yellow12" id="d_email">推荐使用:·网易邮箱 ·QQ邮箱 ·SOHU邮箱</td>
</tr>
<tr>
<td align="left"><img src="images/button.jpg" width="11" height="11" id="d_uname_img"/> 会 员 名:</td>
<td height="30" align="left"><input name="ys_name" type="text" id="ys_name" size="30" /></td>
<td align="left" class="z666_unlink" id="d_name" colspan="2">须以字母开头,至少4位</td>
</tr>
<tr>
<td align="left"><img src="images/button.jpg" width="11" height="11" id="d_pass_img"/> 密  码:</td>
<td height="30" align="left"><input name="ys_pass" type="password" id="ys_pass" size="30" /></td>
<td colspan="2" align="left" class="z666_unlink" id="d_pass">密码设置至少4位,请区分大小写</td>
</tr>
<tr>
<td align="left"><img src="images/button.jpg" width="11" height="11" id="d_pass2_img"/> 重复密码:</td>
<td height="30" align="left"><input name="ys_pass2" type="password" id="ys_pass2" size="30" /></td>
<td colspan="2" align="left" class="z666_unlink" id="d_pass2"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="1" colspan="4" background="images/dian.jpg"></td>
</tr>
<tr>
<td height="46" colspan="4" align="center">
<label>
<!--<input type="image" name="regbotton" src="images/reg.jpg" />-->
<input type="button" name="submit" value="OK!确认提交注册信息" id="regbotton">
</label><div id="save_stat"></div></td>
</tr>
</table>
</form>
</td>
<td width="3" bgcolor="FF7300"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="20" align="left" valign="top"><img src="images/zc-bottom.jpg" width="857" height="11" /></td>
</tr>
</table>
<!-- #include file="../bottom.asp" -->
</body>
</html> checkuser.asp:<!-- #include file="../inc/web_conn.asp" -->
<%ys_name=request("username")
ys_pass=request("password")
ys_email=request("email")
set jrs=server.CreateObject("adodb.recordset")
jsql="select ys_name,id from ys_imember where ys_name='"&ys_name&"'"
jrs.open jsql,conn,1,1
if jrs.eof and jrs.bof then
set rs=server.CreateObject("adodb.recordset")
sql="select * from ys_imember where id is null"
rs.open sql,conn,1,3
rs.addnew
rs("ys_name")=ys_name
rs("ys_pass")=ys_pass
rs("ys_email")=ys_email
rs.update
Session("ys_userame")=ys_name
rs.close
set rs=nothing
response.write "1"
else
response.write "0"
end if
jrs.close
set jrs=nothing
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式