时间:2021-07-01 10:21:17 帮助过:55人阅读
代码? 代码?
代码? 代码? 我写的代码吗?就是一个注册页面 一个ajax.js 一个检查用户名是否存在的ckuser.php页面
目前是这样的 我想改成如果用户名没有通过,焦点一直在用户名的那个输入框 改怎么加代码?
是啊,不贴出代码,怎么知道问题出在哪?
目前是这样的 我想改成如果用户名没有通过,焦点一直在用户名的那个输入框 改怎么加代码?
没通过校验的话,在让用户名输入框获得焦点就行了
是啊,不贴出代码,怎么知道问题出在哪? 不是出现问题,是我不知道该怎么添加这个功能
目前是这样的 我想改成如果用户名没有通过,焦点一直在用户名的那个输入框 改怎么加代码?
没通过校验的话,在让用户名输入框获得焦点就行了 代码改怎么写啊?
添加也要在原来的代码上加,把你的代码贴出来吧。
添加也要在原来的代码上加,把你的代码贴出来吧。
reg.php用户注册
用户名: | * | 3-16个字符 |
密 码: | * | 6-16个字符 |
确认密码: | * | 再次输入密码 |
添加也要在原来的代码上加,把你的代码贴出来吧。
ajaxlist.jsvar username_help='3-16个字符(a-z,0-9,_)'; var username_ok='用户名可以使用'; var username_error=' 用户名超过了16个字符!'; var username_error_1=' 您的用户名输入格式不正确!'; var username_exist=' 您填写的用户名已经存在!'; var username_null=' 用户名长度最少3位!'; function getHTTPObject(){ var xmlhttp = false; if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); if(xmlhttp.overrideMimeType){ xmlhttp.overrideMimeType('text/xml'); } }else{ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; } } } return xmlhttp; } var http = getHTTPObject(); function getAbsLeft(e){ var l=e.offsetLeft; while(e=e.offsetParent) l += e.offsetLeft; return l; } function getAbsTop(e) { var t=e.offsetTop; while(e=e.offsetParent) t += e.offsetTop; t=t+18; return t; } //...............................................................function onFouces(str){ document.getElementById(str).className='word_help'; if(str=='unamespan'){ document.getElementById(str).innerHTML=username_help; }}function backState(str){ if(str=='uname'){ document.getElementById('username').keytype=0; document.getElementById('unamespan').className='gray'; document.getElementById('unamespan').innerHTML=username_ok; }}function checkUserName_1(obj_str,num,obj_strl){ var obj=document.getElementById(obj_str); var obj_help=document.getElementById(obj_strl); obj.keytype=0; if(obj.value.length<3){ obj.keytype=1; obj_help.innerHTML=username_null; obj_help.className=word_error; return false; } if(obj.value.length>num){ obj.keytype=1; obj_help.innerHTML=username_error; obj_help.className=word_error; return false; } //检查是否有不符合规定的字符 var name_str=obj.value; //name_str=name_str.replace(/[\u4e00-\u9fa5]/g,''); name_str=name_str.replace(/[a-zA-Z0-9_]/g,''); name_str=name_str.replace(/-/g,''); if(name_str!=''){ obj.keytype=1; obj_help.innerHTML=username_error_1; obj_help.className=word_error; return false; } //检测用户名是否存在 var username = document.getElementById('username').value; url = "checkuserreg.php?username="+username; http.open("GET",url,true); http.onreadystatechange = handleHttpResponseForUserName_1; http.send(null); if(obj.keytype==0){ backState("uname"); } }function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; return false; } } } } function Trim(str) { return RTrim(LTrim(str)); } function LTrim(str) { return str.replace(/^[ \t\n\r]+/g, ""); } function RTrim(str) { return str.replace(/[ \t\n\r]+$/g, ""); }
添加也要在原来的代码上加,把你的代码贴出来吧。
输出乱码$dbhost ="localhost";$dbuser ="root";$dbpassword = "root";mysql_connect($dbhost,$dbuser,$dbpassword) or die("error!");mysql_query("set names 'gbk'");mysql_select_db('db_text');$username=trim($_GET['username']);//获取注册名$sql="select username from tb_user where username='".$username."'";//查询会员名$result=mysql_query($sql);$num=mysql_num_rows($result);$rows=mysql_fetch_array($result);if($num<>0){ echo "1";}else{ echo "0";}mysql_close();//关闭数据库连接?>
给你个思路,如果焦点离开判断校验没通过的话,再获取焦点就行了。这样就没办法进行后面的输入了。
给你个思路,如果焦点离开判断校验没通过的话,再获取焦点就行了。这样就没办法进行后面的输入了。 我也是这样想的 可是我不知道该怎么写代码
你的username input 框没有id值,能运行成功吗?
if(obj.value.length<3){
obj.keytype=1;
obj_help.innerHTML=username_null;
obj_help.className=word_error;
obj.focus(); //加上这句,下面的验证类似。
return false;
}
function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; return false; } else { document.getElementById("username").focus(); // 加上这个 } } } }
function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; return false; } else { document.getElementById("username").focus(); // 加上这个 } } } }这个起作用了 就是符合条件的通过不了,不符合的能通过
你的username input 框没有id值,能运行成功吗?
if(obj.value.length<3){
obj.keytype=1;
obj_help.innerHTML=username_null;
obj_help.className=word_error;
obj.focus(); //加上这句,下面的验证类似。
return false;
} 这个好像没有作用 楼下的有作用了
噢,你是不合法(用户已存在)时返回 1
function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; document.getElementById("username").focus(); // 加上这个 return false; } } } }
噢,你是不合法(用户已存在)时返回 1
function handleHttpResponseForUserName_1(){ if(http.readyState == 4){ if (http.status == 200) { returnStr=Trim(http.responseText); if(returnStr=="1"){ var obj_1=document.getElementById("unamespan"); obj_1.innerHTML=username_exist; document.getElementById("username").keytype=1; obj_1.className=word_error; document.getElementById("username").focus(); // 加上这个 return false; } } } }高手 放在里面不起作用了 怎么回事啊
在 returnStr=Trim(http.responseText); 后面加上
alert(returnStr + ':' + returnStr.length);
看看有什么
在 returnStr=Trim(http.responseText); 后面加上
alert(returnStr + ':' + returnStr.length);
看看有什么 0:1
那不是对的吗?
返回的是 0 就显示“用户名可以使用”
那不是对的吗?
返回的是 0 就显示“用户名可以使用” 是啊 可是刚才写的那段代码加在里面不起作用,加在外面完全又完全相反,高手兄,该怎么改啊
突然发现你有用 jquery
那么还要自己写那些做什么?
建议你改写成直接用 jquery 的,简单的例子
数字打头不可用,字母打头可用check.php
用户名:3-16个字符
是不是很简单呢?突然发现你有用 jquery
那么还要自己写那些做什么?
建议你改写成直接用 jquery 的,简单的例子数字打头不可用,字母打头可用check.php
用户名:3-16个字符
是不是很简单呢? OK 谢了 高手兄