表单如下:
<form name="login" action="loginServlet" method="post" onsubmit="checkForm()">
<p><label class="title">用户名</label>
<input type="text" name="user" class="input" id="user"/></p>
<p><label class="title">密 码</label>
<input type="password" name="password" class="input" id="password"/></p>
<p><input type="reset" name="reset" value="重写" class="btn"/>
<input type="submit" name="submit" value="登录" class="btn"/></p>
</form>
点击登陆后,未执行onsubmit方法。该方法在js中,代码如下:
function checkUser()
{
var str = $.trim($('#user').val());
log("user :" + $('#user').val());
/**
* 用户名不为空
* */
if(str == "")
{
alert("请输入用户名 !");
return false;
}
/**
* 用户名4位到16位的字母、数字和下划线组成
* */
var Expression = /^(\w){4,16}$/;
var objExp = new RegExp(Expression);
if(objExp.test(str) == false)
return false;
return true;
}function checkPwd()
{
var str = $.trim($('#password').val());
/**
*密码不为空
* */
log( "password :" + $('#password').val());
if(str == "")
{
alert("请输入密码 !");
return false;
}
/**
* 密码由用户名6位到20位的字母、数字和下划线组成
* */
var Expression = /^([A-Za-z0-9]|[_]){6,20}$/;
var objExp = new RegExp(Expression);
if(objExp.test(str) == false)
return false;
return true;
}function checkForm()
{
System.out.println("enter checkform");
if(!checkUser() || !checkPwd())
{
$('.error').show();
log("msg_1");
return false;
}
else
{
$('.error').hide();
log("msg_2");
return true;
}
}
是我的onsubmit方法写的有错误吗?为什么不进入checkform方法?jsJavaScript
<form name="login" action="loginServlet" method="post" onsubmit="checkForm()">
<p><label class="title">用户名</label>
<input type="text" name="user" class="input" id="user"/></p>
<p><label class="title">密 码</label>
<input type="password" name="password" class="input" id="password"/></p>
<p><input type="reset" name="reset" value="重写" class="btn"/>
<input type="submit" name="submit" value="登录" class="btn"/></p>
</form>
点击登陆后,未执行onsubmit方法。该方法在js中,代码如下:
function checkUser()
{
var str = $.trim($('#user').val());
log("user :" + $('#user').val());
/**
* 用户名不为空
* */
if(str == "")
{
alert("请输入用户名 !");
return false;
}
/**
* 用户名4位到16位的字母、数字和下划线组成
* */
var Expression = /^(\w){4,16}$/;
var objExp = new RegExp(Expression);
if(objExp.test(str) == false)
return false;
return true;
}function checkPwd()
{
var str = $.trim($('#password').val());
/**
*密码不为空
* */
log( "password :" + $('#password').val());
if(str == "")
{
alert("请输入密码 !");
return false;
}
/**
* 密码由用户名6位到20位的字母、数字和下划线组成
* */
var Expression = /^([A-Za-z0-9]|[_]){6,20}$/;
var objExp = new RegExp(Expression);
if(objExp.test(str) == false)
return false;
return true;
}function checkForm()
{
System.out.println("enter checkform");
if(!checkUser() || !checkPwd())
{
$('.error').show();
log("msg_1");
return false;
}
else
{
$('.error').hide();
log("msg_2");
return true;
}
}
是我的onsubmit方法写的有错误吗?为什么不进入checkform方法?jsJavaScript
<input type="submit" name="submit" onclick="checkForm();" value="登录" class="btn"/>form中的onsubmit="checkForm()"删掉。
用谷歌浏览器就可以看到JS语法有错,一旦语法有错,整个方法都不会执行。
<html>
<head>
<script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
</head>
<body>
<form name="login" action="loginServlet" method="post" onsubmit="return checkForm();">
<p><label class="title">用户名</label>
<input type="text" name="user" class="input" id="user"/></p>
<p><label class="title">密 码</label>
<input type="password" name="password" class="input" id="password"/></p>
<p><input type="reset" name="reset" value="重写" class="btn"/>
<input type="submit" name="submit" value="登录" class="btn"/></p>
</form>
点击登陆后,未执行onsubmit方法。该方法在js中,代码如下:<script type="text/javascript" language="javascript">
function checkUser()
{
var str = $.trim($('#user').val());
//log("user :" + $('#user').val());
/**
* 用户名不为空
* */
if(str == "")
{
alert("请输入用户名 !");
return false;
}
/**
* 用户名4位到16位的字母、数字和下划线组成
* */
var Expression = /^(\w){4,16}$/;
var objExp = new RegExp(Expression);
if(objExp.test(str) == false)
return false;
return true;
}function checkPwd()
{
var str = $.trim($('#password').val());
/**
*密码不为空
* */
//log( "password :" + $('#password').val());
if(str == "")
{
alert("请输入密码 !");
return false;
}/**
* 密码由用户名6位到20位的字母、数字和下划线组成
* */
var Expression = /^([A-Za-z0-9]|[_]){6,20}$/;
var objExp = new RegExp(Expression);if(objExp.test(str) == false){
alert("密码由用户名6位到20位的字母、数字和下划线组成");
return false;
}
return true;
}function checkForm()
{
if(!checkUser() || !checkPwd())
{
//$('.error').show();
//log("msg_1");
return false;
}
else
{
//$('.error').hide();
//log("msg_2");
return true;
}
}
</script>
</body>
</html>
注:载入了jquery js文件 注释了 log 语句和System.out.println()语句 可以执行