我在表单的第一步中发生了一些验证。
单击下一个按钮时,将运行年龄验证,如果为真,则运行三个函数。
function checkAge(form)
{
return false;
}
else {
validate('theForm','email');
hideFormOne();
showPartTwo();
return false;
};
,功能是
function validate(form_id,email){
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = document.forms[form_id].elements[email].value;
if(reg.test(address) == false) {
alert('Invalid Email Address');
return false;
}
}
function hideFormOne(container1)
{
document.getElementById('container1').style.display='none';
}
function showPartTwo(container2)
{
document.getElementById('container2').style.display='block';
}
我的问题是,如果电子邮件无效,则会弹出警报,但是当它关闭时,它会继续运行隐藏和显示功能。如果电子邮件有效,我需要它才能运行隐藏/显示功能。
答案 0 :(得分:4)
由于您的validate
函数返回true或false,您可以使用该值来决定在函数执行后要执行的操作。
if(validate('theForm', 'email')) {
hideFormOne();
showPartTwo();
}
以上是一种简洁的写作方式
var isValid = validate('theForm', 'email');
if(isValid) {
hideFormOne();
showPartTwo();
}
...其中isValid
获取从validate
答案 1 :(得分:0)
检查validate()
是否返回false,然后从调用函数返回false:
if (!validate('theForm','email'))
{
return false;
}
hideFormOne();
showPartTwo();
return false;
答案 2 :(得分:0)
然后在代码的这一部分更改逻辑,以考虑validate
if (validate('theForm','email')) {
hideFormOne();
showPartTwo();
}
return false;
};
如果电子邮件地址有效,您还需要更改validate
以返回true
。
答案 3 :(得分:0)
如果有效,请将validate
函数更改为true。
然后:
else {
if validate('theForm','email') {
hideFormOne();
showPartTwo();
};
return false;
};