我的目的是:注册页面添加一个姓名的字段(realname),将原来用户名变为编号(字段名不变username)
我有一个新表,uchome_cid,里面记录了编号信息和姓名信息
现在,我在注册页面填写了编号与姓名,填写玩姓名后,我需要一个验证,只有在cid表中编号与姓名对应的人才能注册。
下面是我的修改
template\defalut\do_register.htm
在最后增加了个functionfunction checkRealName() {
var realName = $('realname').value;
var userName = $('username').value;
if(realName == lastRealName) {
return;
} else {
lastRealName = realName;
}
ajaxresponse('checkrealname', 'op=checkrealname&realname=' + (is_ie && document.charset == 'utf-8' ? encodeURIComponent(realName) : realName) + '&username=' + (is_ie && document.charset == 'utf-8' ? encodeURIComponent(userName) : userName));
}在source\do_register.php中最后添加了以下内容elseif($op == "checkrealname") {
$real_name = trim($_GET['realname']);
if(empty($real_name)) {
showmessage('real_name_is_not_legitimate'); //real_name_is_not_legitimate在language里我有添加
}
$real_id = trim($_GET['username']);
if(empty($real_id)) {
showmessage('user_name_is_not_legitimate');
}
$query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('cid')." WHERE real_id='$real_id' AND real_name='$real_name'");
if($query){
showmessage('succeed');
} else {
showmessage('stuid_is_not_stuname'); //stuid_is_not_stuname在language里我有添加
}
}
错误状况:我填写姓名,无论正确与否,都会先反应正确,接着,我删掉名字,切换文本框,就出现一下信息,并且我之后无论修改什么,都提示一下信息
Line:220
Char:1
Code:0
Error:'null' 为空或不是对象
网址:http://localhost/do.php?ac=740c3e19f9954eeb914dcc3ea23a6fe9希望高手帮我看看,到底有什么地方出了问题。
我有一个新表,uchome_cid,里面记录了编号信息和姓名信息
现在,我在注册页面填写了编号与姓名,填写玩姓名后,我需要一个验证,只有在cid表中编号与姓名对应的人才能注册。
下面是我的修改
template\defalut\do_register.htm
在最后增加了个functionfunction checkRealName() {
var realName = $('realname').value;
var userName = $('username').value;
if(realName == lastRealName) {
return;
} else {
lastRealName = realName;
}
ajaxresponse('checkrealname', 'op=checkrealname&realname=' + (is_ie && document.charset == 'utf-8' ? encodeURIComponent(realName) : realName) + '&username=' + (is_ie && document.charset == 'utf-8' ? encodeURIComponent(userName) : userName));
}在source\do_register.php中最后添加了以下内容elseif($op == "checkrealname") {
$real_name = trim($_GET['realname']);
if(empty($real_name)) {
showmessage('real_name_is_not_legitimate'); //real_name_is_not_legitimate在language里我有添加
}
$real_id = trim($_GET['username']);
if(empty($real_id)) {
showmessage('user_name_is_not_legitimate');
}
$query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('cid')." WHERE real_id='$real_id' AND real_name='$real_name'");
if($query){
showmessage('succeed');
} else {
showmessage('stuid_is_not_stuname'); //stuid_is_not_stuname在language里我有添加
}
}
错误状况:我填写姓名,无论正确与否,都会先反应正确,接着,我删掉名字,切换文本框,就出现一下信息,并且我之后无论修改什么,都提示一下信息
Line:220
Char:1
Code:0
Error:'null' 为空或不是对象
网址:http://localhost/do.php?ac=740c3e19f9954eeb914dcc3ea23a6fe9希望高手帮我看看,到底有什么地方出了问题。
var x = new Ajax('XML', objname);
x.get('do.php?ac=$_SCONFIG[register_action]&' + data, function(s){
var obj = $(objname);
s = trim(s);
if(s.indexOf('succeed') > -1) {
obj.style.display = '';
obj.innerHTML = '<img src="image/check_right.gif" width="13" height="13">';
obj.className = "warning";
} else {
warning(obj, s);
}
});
}
function warning(obj, msg) {
if((ton = obj.id.substr(5, obj.id.length)) != 'password2') {
$(ton).select();
}
obj.style.display = '';
obj.innerHTML = '<img src="image/check_error.gif" width="13" height="13"> ' + msg;
obj.className = "warning";
}
我思绪有点乱...3Q了
那个if语句的意思是:截取参数对象中的ID的第5个字符到至第结尾的字符串,赋值给ton,判断ton是否不等于password2。
的 $(ton)是空的WHY?
不理解啊...
极度郁闷