我在写一个ajax页面不刷新改变用户密码,提示网页错误

tsucx 2012-06-14 09:05:55
我看了半天也没有发现哪里错了,哪位有空麻烦帮忙看一下,感激不尽。
注:ajax要提交post的页面chpwd_ajax.php我单独测试过,是OK的。


<head>
<script type="text/javascript">
function chpwd(){
var usr=document.getElementById('username'); //在span标签中
var old=document.getElementById('oldpwd');
var n1 =document.getElementById('newp1');
var n2 =document.getElementById('newp2');
if(old.value.length == 0){
alert("请输入原密码");
old.focus();
return false;
}
if(n1.value <> n2.value){
alert("两次输入的密码不一致");
n2.focus();
return false;
}
var url="chpwd_ajax.php";
var data="user="+usr.innerText+"&old="+old.value+"&new="+n1.value;
alert(data);
var xhr;
if (window.XMLHttpRequest){
xhr=new XMLHttpRequest();
}else{
xhr=new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange=returnchangepwd;
xhr.open("post",url,true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(data);
}

function returnchangepwd(){
if(xhr.readyState == 4 && xhr.status == 200){
var res=xhr.responseText;
if(res == 1){
alert('修改密码成功!');
self.parent.location='../index.php';
}else{
alert('修改失败!');
return false;
}
}
}
</script>
</head>
<body>
修改 <span id='username'><?php echo $_SESSION["username"];?></span> 的密码:<br /><br />
旧密码:<input type="password" id="oldpwd"/><br /><br />
新密码:<input type="password" id="newp1"/><br />
新密码:<input type="password" id="newp2"/><br /><br />
<input type="button" value="修改密码" onclick="chpwd()"/><br /><br /><br />
</body>
...全文
52 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsucx 2012-06-14
  • 打赏
  • 举报
回复
if(n1.value <> n2.value)

是这里错了,我把这个 <> 不等于的改成!=就好了。
tsucx 2012-06-14
  • 打赏
  • 举报
回复
错误提示是对象未定义……

我怀疑是输入法来回切换,导致有时候中英文标点的问题,我用的是notepad++,不像eclipse有错误提示。
qq120848369 2012-06-14
  • 打赏
  • 举报
回复
var data="user="+usr.innerText+"&old="+old.value+"&new="+n1.value;

注意key和value都应该用JS进行urlencode,另外注意一下相对路径是否正确?贴一下错误比较好。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧