【发布时间】:2014-01-05 16:38:16
【问题描述】:
我创建了一个可以验证表单并且工作正常的函数,但我现在想将其分解为 3 个单独的函数。
我现在有一个被提交的表单调用的函数,它声明了一些数组并运行这三个函数。当它是一个大函数时,发现错误的各种 if 语句将返回 false;然后将返回表单并停止发送。
但是现在我已经在一个函数中得到了函数,我不知道如何将该消息“假”返回到表单。
下面是表单提交按钮调用的函数,然后是它调用的主函数。 我尝试创建一个空变量,该变量返回而不是 false,然后由 validateSignup 函数将其赋值为 false,但它不起作用。
function validateSignup()
{
// Declaring Arrays (deleted array contents)
var errorSpansArray=[whatever];
var regexErrorArray=[whatever];
var regexArray=[whatever];
validateText(0,6,errorSpansArray, regexErrorArray, regexArray);
passMatch();
genderCountryCheck()
}
function validateText(formNumber, numberElements, errorSpansArrayName, regexErrorArrayName, regexArrayName)
{
for (x = 0; x<numberElements; x++)
{
var spanName = errorSpansArrayName[x];
var textError = document.getElementById(spanName);
var y=document.forms[formNumber].elements[x];
if (!y.value)
{
errorMessage(0,spanName,x);
return false;
}
if(!regexArrayName[x].test(y.value)){
textError.innerHTML = regexErrorArrayName[x];
return false;
}
}
更新: 感谢您的回复。我找到了一个似乎对我有用的解决方案。
function validateSignup()
{
// Declaring Arrays (deleted array contents)
var errorSpansArray=[whatever];
var regexErrorArray=[whatever];
var regexArray=[whatever];
var returnValidateText=validateText(0,6,errorSpansArray, regexErrorArray, regexArray);
var returnPassMatch = passMatch();
var returnGenderCountry = genderCountryCheck();
if (returnValidateText || returnPassMatch || returnGenderCountry === false)
{
return false;
}
else{
return true;
}
}
【问题讨论】:
标签: javascript forms