这样的,我想写一个用户注册的程序,通过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>
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>
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>
把提交按钮该写成
<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>
加事件然后判断如果需要的条件
满足 再提交到action
<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>
action="/xxx!registerUser.action"
method="post" onsubmit="return check();">
<div class="center">
<div class="form">
<!--注册错误信息开始-->
<div class="error_login" id="err_username_empty">
<span></span><em>用户名为空</em>
</div>
<div class="error_login" id="err_password_empty">
<span></span><em>密码为空</em>
</div>
<div class="error_login" id="err_password1_empty">
<span></span><em>再次输入的密码为空</em>
</div>
<div class="error_login" id="err_password_err">
<span></span><em>密码位数不得低于5位,超过15位</em>
</div>
<div class="error_login" id="err_password_notEqual">
<span></span><em>两次密码不一致</em>
</div>
<!--注册错误信息结束-->
<ul id="loginContain">
<li>
<span>请输入用户名</span>
<input type="text" name="userName" id="userName" class="inputTxt" />
</li>
<li>
<span>请输入密码</span>
<input type="password" name="passWord" id="passWord"
class="inputTxt" />
</li>
<li>
<span>请再次输入密码</span>
<input type="password" name="passWord1" id="passWord1"
class="inputTxt" />
</li>
</ul>
<div class="cl"></div>
<div class="but">
<input class="butt" type="submit" value="注册" />
<input type="button" value="登录" class="butt" onClick="toback();" />
</div>
</div>
</div>
</s:form>
return ;
}
就OK了。。
不过我把2楼的判断部分改了下可用,还有就是单独写成<script>,然后在form处写上onsubmit="return XXX()"(其中XXX为scrpit部分的函数名),好像也行。
<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>