<button type="button" οnclick="submitForm">提交表单</button> //如果这个button写在form里面,并且没有写button的type就可能导致点击这个按钮就提交表单。即使你不是想按这个按钮就提交。所以必须把type写出来。然后再js里面操作。
function submitForm(){
var datas=$(".datatext1") ;
var flag = true; //定义一个标记来识别
$.each(datas, function(){
var textdata=$(this).attr('value');
if (isNaN(textdata)){
alert('请填写数字');
flag = false;
return false;
}
});
if(flag){
document.getElementById('form1').submit();
}
}
另一种遇到的问题就是。再执行一个click事件中有方法,如果这个方法return false就不往下面执行了。
$(".btn").click(function(){
var password=$("#pass").val();
var email=$("#email").val();
validatePassword(password); //如果这里面返回的false。也就是验证没有通过。就不往下执行下一个验证validateEmail(email)啦。但是这样写根本实现不了啊。因为函数内部返回false。只能是停止该函数,但是整个click事件并没有结束。
解决办法:
if(!validatePassword(password)){return }
validateEmail(email);
})
function validatePassword(password) {
if (password.length == 0) {
alert( "请填写密码了!");
return false;
}
if (password.length < 6) {
alert( "密码不能小于6位!");
return false;
}
function validateemail(email){
if (email.length == 0) {
alert( 请填写邮箱!");
return false;
}
})