Javascript跳过函数
Javascript skipping function?
本文关键字:函数 Javascript 更新时间:2024-06-24
我正在为一个网站注册表单进行一些表单验证,我有一个函数可以调用其他函数。它调用的每个函数都会进行一些验证,但当它到达最终函数时,它会跳过它!
function validateForm() {
if (usernameVal() === false) { return false; }
if (emailRegexVal() === false) { return false; }
if (emailMatchVal() === false) { return false; }
if (pwMatchVal() === false) { return false; }
else { return true; }
}
function usernameVal() {
var x = document.forms['Form']['Username'].value;
if (x === '') {
alert('username must be filled out');
return false;
}
}
function emailMatchVal() {
var x = document.forms['Form']['Email_1'].value;
var y = document.forms['Form']['Email_2'].value;
if (x !== y) {
alert('Email Addresses do not match');
return false;
}
}
function emailRegexVal() {
var x = document.forms['Form']['Email_1'].value;
var regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+'.[a-zA-Z]{2,4}$/;
var valid = regex.test(x);
if (!valid) {
alert('Invalid email address!');
return false;
}
}
function pwMatchVal() {
var x = document.forms['Form']['pw1'].value;
var y = document.forms['Form']['pw2'].value;
if (x !== y) {
alert('Your passwords do not match!');
return false;
}
}
因此,当我单击提交按钮时,它会进行用户名检查、电子邮件上的regex、电子邮件检查,然后根据情况尝试提交表单pwMatchVal()函数。有什么想法吗?谢谢
按照您的方式,如果这些函数中的任何一个返回false,整个(validateForm)将退出。因此,如果倒数第二个函数返回false,那么最后一个函数将不会被调用。
您需要首先调用每个函数,保存结果,在调用每个验证函数后,然后发出返回语句。
它应该看起来像这个
function validateForm() {
var v1 = (usernameVal() === false);
var v2 = (emailRegexVal() === false);
var v3 = (emailMatchVal() === false);
var v4 = (pwMatchVal() === false);
return v1 && v2 && v3 && v4;
}
相关文章:
- 从函数JavaScript返回不可变数组/对象
- 将对象传递给函数.JavaScript
- 如何定义const函数javascript(语法糖)
- 新的日期函数javascript
- TypeError:this.getAttribute不是一个函数-javascript
- 从函数javascript发送变量
- 扩展自容器函数Javascript
- 从内部函数javascript内部分配外部函数的对象
- 使用函数JavaScript中的函数
- 在这里使用回调函数(JavaScript)有什么好处吗
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 将“e”传递给一个新函数 - javascript
- 调用函数中的一个函数——Javascript
- 传递的变量不适用于我的函数-Javascript
- 如何将类方法设置为等于多个函数?-Javascript
- 显示php中的函数javascript
- 如何使用php代码创建函数Javascript弹出框
- 未调用的外部函数-javascript
- 如何在类中运行函数.Javascript
- 关闭mouseover上的一个函数——Javascript,jQuery