停止运行javascript函数
问题描述:
我在表单的第一步中发生了一些验证。停止运行javascript函数
当单击下一个按钮时,将运行一个年龄验证,如果它是真的,那么它将运行三个函数。
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';
}
我的问题是,如果电子邮件是无效的,警告弹出,但随后被关闭时,它继续运行在隐藏和显示功能。我需要它只在电子邮件有效时才运行隐藏/显示功能。
答
由于您的validate
函数返回true或false,您可以使用该值来决定该函数执行后要执行的操作。
if(validate('theForm', 'email')) {
hideFormOne();
showPartTwo();
}
以上是写
var isValid = validate('theForm', 'email');
if(isValid) {
hideFormOne();
showPartTwo();
}
...其中isValid
获取从validate
答
检查返回值是否validate()
返回false,则返回从假的简洁方式来电功能:
if (!validate('theForm','email'))
{
return false;
}
hideFormOne();
showPartTwo();
return false;
答
然后改变你的逻辑在这部分代码考虑到的validate
if (validate('theForm','email')) {
hideFormOne();
showPartTwo();
}
return false;
}的返回值;
如果电子邮件地址有效,您还需要更改validate
以返回true
。
答
更改您的validate
函数返回true,如果有效。
则:
else {
if validate('theForm','email') {
hideFormOne();
showPartTwo();
};
return false;
};
的else下面checkAge()函数,是的,如果什么条件的一部分? – pencilCake 2010-07-02 08:27:05
@burak,我留下了那么多,因为它很长,并且与我的问题 @answers不相关,感谢所有伟大的反馈,我将尝试这些! – Zac 2010-07-02 08:40:19