onsubmit return为什么不执行就跳转 20
以下是网上找的函数:functioncheck(){document.reg.sname.value=trim(document.reg.sname.value);nam...
以下是网上找的函数:
function check()
{
document.reg.sname.value = trim(document.reg.sname.value);
name = document.reg.sname.value;
if ( name.length < 6 || getStringBytes(name) > 20 )
{
alert("请输入合法的用户登录名(必须为六位至二十位之间) !");
document.reg.sname.focus();
return false;
}
pass_1 = document.reg.password.value;
pass_2 = document.reg.confirm_password.value;
if ( pass_1.length < 6 || getStringBytes(pass_1) > 20 )
{
alert("请输入用户登录密码(必须为六位至二十位之间) !");
document.reg.password.focus();
return false;
}
if ( pass_1 != pass_2 )
{
alert("两次输入的密码不相同,请输入正确的密码 !");
document.reg.confirm_password.focus();
return false;
}
if ( name.indexOf("'",0) > -1 ) {
alert("用户登录名中不能包括字符\"'\",请修改 !");
document.reg.sname.focus();
return false;
}
//检查是否包含敏感字符
if (Sensibility(document.reg.sname,true)) {
return false;
}
if ( pass_1.indexOf("'",0) > - 1 ) {
alert("用户密码中不能包括字符\"'\",请修改 !");
document.reg.password.focus();
return false;
}
// 个人注册登录名只能由 A-Z,a-z,0-9组成
// var reg = new RegExp(/^([0-9]|[a-z]|[A-Z])*$/);
var reg = /^([0-9]|[a-z]|[A-Z])*$/;
if ( !reg.test(name) )
{
alert("您所输入的个人登录名只能由[0-9]、[a-z]、[A-Z]组成");
return false;
}
// 个人邮箱格式检查
document.reg.email.value = trim(document.reg.email.value);
if ( document.reg.email.value.length == "" ) {
alert("请输入您的个人邮箱!");
document.reg.email.focus();
return false;
}
if ( !isEmailAddr(document.reg.email.value)) {
alert("请输入您的有效Email !");
document.reg.email.select();
return false;
}
//检查是否包含敏感字符
if (Sensibility(document.reg.email,true)) {
return false;
}
if ( getStringBytes(document.reg.email.value) > 40 ) {
alert("您所输入的个人邮箱过长,请重新输入!");
document.reg.email.focus();
return false;
}
return true;
}
---------------------------------------------------------------------------------------------------------
以下是表单的代码:
<form action="Check_Register.jsp" name="reg" method="post" onSubmit="return check()">
以下是提交按钮的代码:
<input type="submit" name="Submit" value="开 始 注 册" style="height:30px;">
一个注册的表单,改来改去都是直接跳转,无论输入什么,是否输入都是跳转到成功页面,没有ALERT的内容,也就是不执行函数啦,到底为什么呢?!!!!!!!!!! 展开
function check()
{
document.reg.sname.value = trim(document.reg.sname.value);
name = document.reg.sname.value;
if ( name.length < 6 || getStringBytes(name) > 20 )
{
alert("请输入合法的用户登录名(必须为六位至二十位之间) !");
document.reg.sname.focus();
return false;
}
pass_1 = document.reg.password.value;
pass_2 = document.reg.confirm_password.value;
if ( pass_1.length < 6 || getStringBytes(pass_1) > 20 )
{
alert("请输入用户登录密码(必须为六位至二十位之间) !");
document.reg.password.focus();
return false;
}
if ( pass_1 != pass_2 )
{
alert("两次输入的密码不相同,请输入正确的密码 !");
document.reg.confirm_password.focus();
return false;
}
if ( name.indexOf("'",0) > -1 ) {
alert("用户登录名中不能包括字符\"'\",请修改 !");
document.reg.sname.focus();
return false;
}
//检查是否包含敏感字符
if (Sensibility(document.reg.sname,true)) {
return false;
}
if ( pass_1.indexOf("'",0) > - 1 ) {
alert("用户密码中不能包括字符\"'\",请修改 !");
document.reg.password.focus();
return false;
}
// 个人注册登录名只能由 A-Z,a-z,0-9组成
// var reg = new RegExp(/^([0-9]|[a-z]|[A-Z])*$/);
var reg = /^([0-9]|[a-z]|[A-Z])*$/;
if ( !reg.test(name) )
{
alert("您所输入的个人登录名只能由[0-9]、[a-z]、[A-Z]组成");
return false;
}
// 个人邮箱格式检查
document.reg.email.value = trim(document.reg.email.value);
if ( document.reg.email.value.length == "" ) {
alert("请输入您的个人邮箱!");
document.reg.email.focus();
return false;
}
if ( !isEmailAddr(document.reg.email.value)) {
alert("请输入您的有效Email !");
document.reg.email.select();
return false;
}
//检查是否包含敏感字符
if (Sensibility(document.reg.email,true)) {
return false;
}
if ( getStringBytes(document.reg.email.value) > 40 ) {
alert("您所输入的个人邮箱过长,请重新输入!");
document.reg.email.focus();
return false;
}
return true;
}
---------------------------------------------------------------------------------------------------------
以下是表单的代码:
<form action="Check_Register.jsp" name="reg" method="post" onSubmit="return check()">
以下是提交按钮的代码:
<input type="submit" name="Submit" value="开 始 注 册" style="height:30px;">
一个注册的表单,改来改去都是直接跳转,无论输入什么,是否输入都是跳转到成功页面,没有ALERT的内容,也就是不执行函数啦,到底为什么呢?!!!!!!!!!! 展开
展开全部
网上找的函数? 那应该是不通用的,会导至你的函数与你的表单DOM不匹配,从而发生JS运行时错误,而在表单提交事件中发生运行时错误,浏览器会直接将表单提交,通常不会给你时间看到发生错误的具体信息.如果要验证以上猜测,你可以删掉form标签中的onsubmit事件属性,并将submit按钮类别改为button,并添加onclick事件调用该函数,这样你就可以看到验证函数中发生的错误.具体改法如:
<form action="Check_Register.jsp" name="reg" method="post">
<input type="button" name="Submit" onclick="javascript:return check();" value="开 始 注 册" style="height:30px;">
<form action="Check_Register.jsp" name="reg" method="post">
<input type="button" name="Submit" onclick="javascript:return check();" value="开 始 注 册" style="height:30px;">
展开全部
你用的什么浏览器?按照HTML规范,<form onSubmit="">是无效的 ,应该是小写的才行<form onsubmit="">
另外,如果还是不行的话你可以尝试<form onsubmit="return false">
哦,补充一点,你的 <input type="submit" />按钮不能用 submit或者Submit作为名字,这样也会引发你遇到的问题。
采纳吧,完美答案
另外,如果还是不行的话你可以尝试<form onsubmit="return false">
哦,补充一点,你的 <input type="submit" />按钮不能用 submit或者Submit作为名字,这样也会引发你遇到的问题。
采纳吧,完美答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把
<input type="submit" name="Submit" value="开 始 注 册" style="height:30px;">
改成
<input type="button" value="开 始 注 册" style="height:30px;" onclick="check()&&document.reg.submit();">
把
<form action="Check_Register.jsp" name="reg" method="post" onSubmit="return check()">
改成
<form action="Check_Register.jsp" name="reg" method="post">
可以解决你的问题
<input type="submit" name="Submit" value="开 始 注 册" style="height:30px;">
改成
<input type="button" value="开 始 注 册" style="height:30px;" onclick="check()&&document.reg.submit();">
把
<form action="Check_Register.jsp" name="reg" method="post" onSubmit="return check()">
改成
<form action="Check_Register.jsp" name="reg" method="post">
可以解决你的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询