新手提问,关于提交表单时的判断
这样的,我想写一个用户注册的程序,通过form来实现,但是想在submit的时候判断两次密码输入是否一致,如果不用post指向一个中间页之后分别getparameter后判断的方式,还有没有什么其他的办法?谢谢,已经写好的代码如下。
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>注册</title></head><body> <form id="form1" name="form1" method="post" action="show.jsp"> <label>用户名: <input type="text" name="name"> </label> <p> <label>密码: <input type="password" name="pw"> </label> </p> <p> <label>再次输入密码: <input type="password" name="rpw"> </label> </p> <p> <label>邮箱: <input type="text" name="email" > </label> </p> <p> <input type="submit" name="提交" > </p> </form></body></html>
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>注册</title></head><body> <form id="form1" name="form1" method="post" action="show.jsp" onsubmit="var f=document.getElementById('form1'); return f.pw === f.rpw ? true : alert('error'),false;"> <label>用户名: <input type="text" name="name"> </label> <p> <label>密码: <input type="password" name="pw"> </label> </p> <p> <label>再次输入密码: <input type="password" name="rpw"> </label> </p> <p> <label>邮箱: <input type="text" name="email" > </label> </p> <p> <input type="submit" name="提交" > </p> </form></body></html>
[解决办法]
JS可以判断,也可以表单2个password提交后台改。
[解决办法]
可以通过js来判断,两次输入的密码是否相同,如果成功,在commit();
把提交按钮该写成
<input type="button" onclick="isSamePassword()" value="确认"/>
js代码:
<script type="text/javascript">
function isSamePassword(){
var passwordOne,passwordTwo;
passwordOne = document.getElementById("pw").value;
passwordTwo = document.getElementById("rpw").value;
if(passwordOne ==passwordTwo ){
alert("ok!");
form1.submit();
}else{
alert("两次输入密码不一致请重新输入!");
}
}
</script>
[解决办法]
JS判断:
<script type="text/javascript">
function check(){
$(".error_login").hide();
if ($("#userName").val()=="")
{
$("#err_username_empty").show();
return false;
}
var password = $("#passWord").val();
var password1 = $("#passWord1").val();
if (password=="")
{
$("#err_password_empty").show();
return false;
}
if (password.length < 5 || password.length > 15)
{
$("#err_password_err").show();
return false;
}
if (password1=="")
{
$("#err_password1_empty").show();
return false;
}
if (password!=password1)
{
$("#err_password_notEqual").show();
return false;
}
if ($("#message").val()!=null)
{
$("#err_userName").show();
return false;
}
return true;
}
</script>
form里面:
<s:form id="register_form"
action="/XXX.registerUser.action"
method="post" onsubmit="return check();">。。。。。</s:form>
[解决办法]
前台验证通过document.getElementById("").value分别得到两个密码 然后判断是否相等 比如if(pass1!=pass2){
return ;
}
就OK了。。
[解决办法]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 注册 </title>
<meta name="Generator" content="EditPlus">
<script type = "text/javascript">
function samePassword(){
var psw = document.getElementById("ps").value;
var rpsw = document.getElementById("rps").value;
if(psw != rpsw)
{
alert("两次输入的密码不相同");
return false;
}
else
{
return true;
}
}
</script>
</head>
<body>
<form >
用户姓名: <input type = "text" name = "name"><br/>
密码:<input type = "password" name = "pw" id ="ps"><br/>
再次输入密码:<input type = "password" name = "rpw" id ="rps" ><br/>
邮箱:<input type = "text" name ="email"><br/>
<input type="submit" name = "提交" onclick = "return samePassword()">
</form>
</body>
</html>