jsp更改密码界面,用js实现表单验证:
这个js是找的,验证是否为空的这个,可以实现了,但我还想加上验证原密码是否正确和验证新密码和新密码确认是否相等这两个功能。应该怎么改呢?<scriptlanguage="...
这个js是找的,验证是否为空的这个,可以实现了,但我还想加上验证原密码是否正确 和 验证新密码和新密码确认是否相等这两个功能。应该怎么改呢?
<script language="javascript">
<!--
function check(){
if(reform.oldpassword.value==""){
alert("请输入您的旧密码");
reform.oldpassword.focus();
return false;
}
if(reform.password1.value==""){
alert("请输入您的新密码");
reform.password1.focus();
return false;
}
if(reform.password2.value==""){
alert("请输入新密码确认");
reform.password2.focus();
return false;
}
return true;
}
-->
</script>
<form name="reform" method="post" action="expassword_action.jsp" onSubmit="return check();">
关键是我自己试着改了,加了两条if判断。。结果加了以后连上面的都不判断了,直接提交了,为什么?
<script language="javascript">
<!--
function check(){
if(reform.oldpassword.value==""){
alert("请输入您的旧密码");
reform.oldpassword.focus();
return false;
}
if(reform.oldpassword.value!=password){
alert("旧密码错误");
reform.oldpassword.focus();
return false;
}
if(reform.password1.value==""){
alert("请输入您的新密码");
reform.password1.focus();
return false;
}
if(reform.password2.value==""){
alert("请输入新密码确认");
reform.password2.focus();
return false;
}
if(reform.password2.value!=reform.password1.value){
alert("两次密码不一致");
reform.password2.focus();
return false;
}
return true;
}
-->
</script>
关于新密码和新密码确认的一致性问题,我已经解决了,就像下面
这样写
if (document.forms[0].password1.value!=document.forms
[0].password2.value){
alert("两次填写的密码不一致,请重新填写!");
document.forms[0].password2.focus();
document.forms[0].password2.select();
return false;
}
但是,旧密码验证放上面写还是不行。因为旧密码我是通过sql的得到的
<%Integer ID = (Integer)session.getAttribute("ID");
String sql="select password from users where id="+ID;
ResultSet rs=user_expassword.executeQuery1(sql);
if(rs.next()){
String password=rs.getString("password");}
%>
然后用这个password和document.forms[0].oldpassword.value比较是否相
等。。这样不可以吗?? 展开
<script language="javascript">
<!--
function check(){
if(reform.oldpassword.value==""){
alert("请输入您的旧密码");
reform.oldpassword.focus();
return false;
}
if(reform.password1.value==""){
alert("请输入您的新密码");
reform.password1.focus();
return false;
}
if(reform.password2.value==""){
alert("请输入新密码确认");
reform.password2.focus();
return false;
}
return true;
}
-->
</script>
<form name="reform" method="post" action="expassword_action.jsp" onSubmit="return check();">
关键是我自己试着改了,加了两条if判断。。结果加了以后连上面的都不判断了,直接提交了,为什么?
<script language="javascript">
<!--
function check(){
if(reform.oldpassword.value==""){
alert("请输入您的旧密码");
reform.oldpassword.focus();
return false;
}
if(reform.oldpassword.value!=password){
alert("旧密码错误");
reform.oldpassword.focus();
return false;
}
if(reform.password1.value==""){
alert("请输入您的新密码");
reform.password1.focus();
return false;
}
if(reform.password2.value==""){
alert("请输入新密码确认");
reform.password2.focus();
return false;
}
if(reform.password2.value!=reform.password1.value){
alert("两次密码不一致");
reform.password2.focus();
return false;
}
return true;
}
-->
</script>
关于新密码和新密码确认的一致性问题,我已经解决了,就像下面
这样写
if (document.forms[0].password1.value!=document.forms
[0].password2.value){
alert("两次填写的密码不一致,请重新填写!");
document.forms[0].password2.focus();
document.forms[0].password2.select();
return false;
}
但是,旧密码验证放上面写还是不行。因为旧密码我是通过sql的得到的
<%Integer ID = (Integer)session.getAttribute("ID");
String sql="select password from users where id="+ID;
ResultSet rs=user_expassword.executeQuery1(sql);
if(rs.next()){
String password=rs.getString("password");}
%>
然后用这个password和document.forms[0].oldpassword.value比较是否相
等。。这样不可以吗?? 展开
1个回答
展开全部
你这个代码 reform.password2 这种写法只能在 IE 上用,
正确的标准的写法是
var form = document.getElementsByName('reform')[0];
var password2 = document.getElementsByName('password2')[0];
如果你使用像 Firefox 或 Google Chrome 来运行你原来的代码只能得到 JS 错误。
其实你是没有学会如何在浏览器中调试 debug 你的代码,如果是 Google Chrome 在打开网页中按 F12,然后在下面的 Source 标签页中找到你的源代码 js 文件,下断点一步一步的运行你的代码。
另外在 Console 标签页中查看 JS 错误。
正确的标准的写法是
var form = document.getElementsByName('reform')[0];
var password2 = document.getElementsByName('password2')[0];
如果你使用像 Firefox 或 Google Chrome 来运行你原来的代码只能得到 JS 错误。
其实你是没有学会如何在浏览器中调试 debug 你的代码,如果是 Google Chrome 在打开网页中按 F12,然后在下面的 Source 标签页中找到你的源代码 js 文件,下断点一步一步的运行你的代码。
另外在 Console 标签页中查看 JS 错误。
追问
你好。关于新密码和新密码确认的一致性问题,我已经解决了。但是旧密码验证放上面写还是不行。因为旧密码我是通过sql的得到的:
String password=rs.getString("password");
然后用这个password和document.forms[0].oldpassword.value比较是否相等。。这样不可以吗??
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询