描述:就是单击申请按钮时候验证密码是否一致,邮箱是否合法;
如果正确了提交表单信息!不正确的话弹出窗口提示~~(本人遇到的问题是,单击按钮无任何反应~)
代码如下——<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<!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=ISO-8859-1">
<title>register.jsp</title><script language="javaScript">
var p=document.myform.password.value;
var rp=document.myform.rpassword.value;
var e=document.myform.email.value;
var check=false;
function check()//验证密码和邮箱
{
if(check)
{
if(!p.equals(rp))
{
alert("两次输入的密码不一致,请重新输入!");
check=true;
}
if(e.indexOf("@")=-1)
{
alert("邮箱验证不合法,请重新输入!");
check=true;
}
if(!p.equals(rp)&&e.indexOf("@")=-1)
{
alert("两次输入的密码不一致,请重新输入!\n"+"邮箱验证不合法,请重新输入!");
check=true;
}
}
else
{
myform.submit();
}
}
</script>
</head>
<body>
<font size="5">用户注册</font><br>
<form action="adduser.jsp" name="myform">
用户名<input type="text" name="user">*<br>
密码<input type="password" name="password">*<br>
密码确认<input type="password" name="rpassword">*<br>
电子邮件<input type="text" name="email" >*<br>
问题<select name="question">
<option selected value="你最爱的宠物">你最爱的宠物</option>
<option value="你父亲的名字">你父亲的名字</option>
<option value="你母亲的名字">你母亲的名字</option>
<option value="你最爱的人是">你最爱的人是</option>
<option value="你最爱的植物">你最爱的植物</option>
<option value="你最喜欢的动画片">你最喜欢的动画片</option>
</select><br>
回答<input type="text" name="answer" ><br><input type="button" name="submit" value="申请" onclick="check()">
<input type="reset" name="reset" value="取消"><br>
</form></body>
</html>
如果正确了提交表单信息!不正确的话弹出窗口提示~~(本人遇到的问题是,单击按钮无任何反应~)
代码如下——<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<!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=ISO-8859-1">
<title>register.jsp</title><script language="javaScript">
var p=document.myform.password.value;
var rp=document.myform.rpassword.value;
var e=document.myform.email.value;
var check=false;
function check()//验证密码和邮箱
{
if(check)
{
if(!p.equals(rp))
{
alert("两次输入的密码不一致,请重新输入!");
check=true;
}
if(e.indexOf("@")=-1)
{
alert("邮箱验证不合法,请重新输入!");
check=true;
}
if(!p.equals(rp)&&e.indexOf("@")=-1)
{
alert("两次输入的密码不一致,请重新输入!\n"+"邮箱验证不合法,请重新输入!");
check=true;
}
}
else
{
myform.submit();
}
}
</script>
</head>
<body>
<font size="5">用户注册</font><br>
<form action="adduser.jsp" name="myform">
用户名<input type="text" name="user">*<br>
密码<input type="password" name="password">*<br>
密码确认<input type="password" name="rpassword">*<br>
电子邮件<input type="text" name="email" >*<br>
问题<select name="question">
<option selected value="你最爱的宠物">你最爱的宠物</option>
<option value="你父亲的名字">你父亲的名字</option>
<option value="你母亲的名字">你母亲的名字</option>
<option value="你最爱的人是">你最爱的人是</option>
<option value="你最爱的植物">你最爱的植物</option>
<option value="你最喜欢的动画片">你最喜欢的动画片</option>
</select><br>
回答<input type="text" name="answer" ><br><input type="button" name="submit" value="申请" onclick="check()">
<input type="reset" name="reset" value="取消"><br>
</form></body>
</html>
<font size="5">用户注册</font><br>
<form action="adduser.jsp" name="myform">
用户名<input type="text" name="user">*<br>
密码<input type="password" name="password">*<br>
密码确认<input type="password" name="rpassword">*<br>
电子邮件<input type="text" name="email" >*<br>
问题<select name="question">
<option selected value="你最爱的宠物">你最爱的宠物</option>
<option value="你父亲的名字">你父亲的名字</option>
<option value="你母亲的名字">你母亲的名字</option>
<option value="你最爱的人是">你最爱的人是</option>
<option value="你最爱的植物">你最爱的植物</option>
<option value="你最喜欢的动画片">你最喜欢的动画片</option>
</select><br>
回答<input type="text" name="answer" ><br><input type="button" name="submit" value="申请" onclick="check()">
<input type="reset" name="reset" value="取消"><br>
</form>
<script language="javaScript">
function check()//验证密码和邮箱
{
//放在外面的话,则页面载入时就赋值为默认的"";
//放在里面的话,点按钮的时候才赋值
var p=document.myform.password.value;
var rp=document.myform.rpassword.value;
var e=document.myform.email.value; if (!document.myform.user.value || !p || !rp || !e)
{
alert("请将带*的项目填写完整!");
return false;
}
if( p != rp && e.indexOf("@") == -1) //需放在if( p != rp )和if(e.indexOf("@") == -1)前面,不然永远也不会进入此if
{
alert("两次输入的密码不一致,请重新输入!\n"+"邮箱验证不合法,请重新输入!");
return false;
}
if( p != rp ) //js中没有equals
{
alert("两次输入的密码不一致,请重新输入!");
return false;
}
if(e.indexOf("@") == -1) //比较应用==而不是=
{
alert("邮箱验证不合法,请重新输入!");
return false;
}
//上面的全部通过了才会到这里
alert("OK");
//myform.submit();
}
</script>
<font size="5">用户注册</font><br>
<form action="adduser.jsp" name="myform">
用户名<input type="text" name="user">*<br>
密码<input type="password" name="password">*<br>
密码确认<input type="password" name="rpassword">*<br>
电子邮件<input type="text" name="email" >*<br>
问题<select name="question">
<option selected value="你最爱的宠物">你最爱的宠物</option>
<option value="你父亲的名字">你父亲的名字</option>
<option value="你母亲的名字">你母亲的名字</option>
<option value="你最爱的人是">你最爱的人是</option>
<option value="你最爱的植物">你最爱的植物</option>
<option value="你最喜欢的动画片">你最喜欢的动画片</option>
</select><br>
回答<input type="text" name="answer" ><br><input type="button" name="submit" value="申请" onclick="check()">
<input type="reset" name="reset" value="取消"><br>
</form>
<script language="javaScript">
function check()//验证密码和邮箱
{
var u=document.myform.user;
var p=document.myform.password;
var rp=document.myform.rpassword;
var e=document.myform.email;
var reg = /^\w{6,}$/
var reg_e = /^\w+@\w+\.\w+$/ if (!u.value || !p.value || !rp.value || !e.value)
{
alert("请将带*的项目填写完整!");
return false;
}
if (!reg.test(u.value)) {
alert("用户名:由数字字母下划线组成,长度6位或以上");
u.select();
return false;
}
if (!reg.test(p.value)) {
alert("密码:由数字字母下划线组成,长度6位或以上");
p.select();
return false;
}
if( p.value != rp.value )
{
alert("两次输入的密码不一致,请重新输入!");
rp.select();
return false;
}
if (!reg_e.test(e.value)) {
alert("邮箱验证不合法,请重新输入!");
e.select();
return false;
} //上面的全部通过了才会到这里
alert("OK");
//myform.submit();
}
</script>
类似:
alert("1");
//代码行
alert("2");
//代码行
alert("3");
//代码行
alert("4");
//代码行------------------------
看下代码执行到了哪个alert,然后就是那个alert下面的代码有问题了呗
不能一眼看出问题所在,只有慢慢调试了
LZ在定义变量的时候定义了个check,然后函数名也叫check(),所以一运行就报错
我把那个变量check删了的说……
var p=document.myform.password.value;
var rp=document.myform.rpassword.value;
var e=document.myform.email.value;
var check=false;
因为首次执行到这里的时候页面还没有被加载完成,所以document.myform或者document.myform.password为null,另外document.myform.password的写法是不提倡的,因为不是所有的浏览器都对这种写法支持的很好,正确的写法是document.getElementById("xxxxx").最后,楼主的代码存在逻辑错误,应该是每次check的时候都重新读取input box的值来做判断,所以上述代码片段应该在check()内。