繁体   English   中英

在提交html表单上返回多个方法

[英]returning more than one method on submit html form

我有两个单独的JS方法来验证电子邮件和密码。 我的问题是,当我在html表单的提交中返回两个方法时,即使验证失败,该表单也会通过,但是当我仅返回一个方法时,它就可以正常工作!

<form method="POST" action="http://127.0.0.1:3000/" enctype="multipart/form-data"         name="form" onsubmit="return validateEmail(), checkPassword();">
<div class="reservation">
                <div class="section_room">
                <h5>Enterprise ID: </h5>
                <input name="enterpriseID" type="text" name="uName"    id="uName" placeholder="me@me.com" class="textbox" required>
                </div>

                <div class="section_room">
                <h5>Password: </h5>
                <input name="password" type="password"   name="PassWd" id="passWd" placeholder="Password1!" class="textbox" required>
                </div>

        <input type="submit" value="Login" style="width: 280px;">
            <div class="clear"></div>
        </ul>
    </div>
   </form>

和我的JS是:

</script>
function validateEmail(){ 
var email = document.getElementById('uName');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

 if (!filter.test(email.value)) 
 {
  alert('Please provide a valid email address');
   email.focus;
   return false;
 }
else
return true;
}
function checkPassword()
{
var pass = document.getElementById('passWd');
var re = /^(?=(.*\d){1})(?=.*[a-zA-Z])(?=.*[!@#$%^&*])[0-9a-zA-Z!@#$%]{8,}/;
if (!re.test(pass.value)) 
{
alert('Your Password does not meet the minimun requirements');
email.focus;
return false;
}
else
return true;
}
</script>

我在哪里错了,或者这有可能吗?

更改您的onsubmit以使用逻辑AND( &&检查两个值:

与布尔值一起使用时, &&如果两个操作数都为true,则返回true;否则为false。 否则,返回false。

onsubmit="return validateEmail() && checkPassword();"

现在,如果validateEmail checkPassword都为true,则返回true。 但是,如果任何一个为假,它将返回假。

添加一些逻辑:

function b(){return true&&false;} //false

function b(){return true||false;} //true

你需要:

onsubmit="return validateEmail()&&checkPassword();"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM