一个onclick中有两个函数-Javascript
Two functions in one onclick - Javascript
我试图同时执行两个函数来验证在线表单。第一个表单运行良好,但第二个表单没有执行。有人能指出我的代码出了什么问题吗?
function both(){
validation();
regex();
}
function validation(){
var valid = true;
var error = [];
if (document.check_in.forename.value == ""){
error.push("First Name");
valid = false;
}
if (document.check_in.surname.value == ""){
error.push("Surname");
valid = false;
}
if (valid == false) {
alert("Please fill in the following fields:'n" + error.join("'n") + ".");
}
return valid;
}
function regex(){
var fnameRE = /^[a-zA-Z]+$/;
var valid_reg = true;
var error_reg = [];
if (!fnameRE.test(document.check_in.forname.value)) {
error_reg.push("Please use characters only in First Name field.");
valid_reg = false;
}
else if (valid_reg == false) {
alert("Please fill s:'n" + error_reg.join("'n") + ".");
}
return valid_reg;
}
和HTML:
<form name="check_in" method="POST" action="form.html" onSubmit="return both()">
我想你需要像这样的东西
function both(){
return (validation() && regex())
}
这样,只有当两个函数都通过了验证时,"both"才会返回true
。否则返回false
我不确定,但可能就是这样……您正在调用两个函数,其中都有返回语句,一旦遇到第一个返回语句,代码执行就会结束。您是否尝试在regex()
函数中设置警报?你能试着在这里证明我的陈述是对的/错的吗。
您的解决方法:
function both(){
var valid = validation();
var regexvalid = regex();
if(valid && regexvalid)
return true;
else
return false;
}
相关文章:
- JQuery合并了keyup和focusout两个函数
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 递归|两个函数名
- 同一事物的两个函数,一个崩溃,另一个不崩溃,为什么
- 如何调用两个函数是一种html输入类型
- 广义化对两个性质起反作用的两个函数
- 两个函数之间的角度承诺
- 在keyup更改上运行两个函数
- 为什么这两个函数调用不相等
- 在 javascript 中通过继承调用两个函数
- 删除两个函数使用的全局变量
- 我需要将这两个函数从javascript更改为JQuery,任何人都可以告诉我如何转换
- 我需要在单击时运行两个函数.即使嵌套在一起,我也无法让它们都工作
- iMacros iim播放如何调用两个函数
- 尝试连接Angular.js或JavaScript中的两个函数返回
- 我的if和else-if逻辑中的问题以及两个函数的冲突
- 如何在onchange事件中的两个函数之间进行选择
- javascript中的函数重载使两个函数名称相同,但输入数字不同
- 包括javascript按键中的两个函数
- 在onload上调用两个函数不起作用