代码之家  ›  专栏  ›  技术社区  ›  Zac

停止运行javascript函数

  •  0
  • Zac  · 技术社区  · 15 年前

    单击“下一步”按钮时,运行年龄验证,如果为真,则运行三个函数。

    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';
    }
    

    我的问题是,如果电子邮件是无效的,警报弹出,但当这是关闭它继续运行隐藏和显示功能。我需要它只运行隐藏/显示功能,如果电子邮件是有效的。

    4 回复  |  直到 15 年前
        1
  •  4
  •   David Hedlund    15 年前

    自从你的 validate 函数返回true或false,您可以使用该值来决定在函数执行后要执行的操作。

    if(validate('theForm', 'email')) {
       hideFormOne();
       showPartTwo();
    }
    

    var isValid = validate('theForm', 'email');
    if(isValid) {
       hideFormOne();
       showPartTwo();
    }
    

    ... 哪里 isValid 验证

        2
  •  0
  •   BoltClock    15 年前

    检查是否 validate()

    if (!validate('theForm','email'))
    {
        return false;
    }
    
    hideFormOne();
    showPartTwo();
    return false;
    
        3
  •  0
  •   Tarski    15 年前

    validate

    if (validate('theForm','email')) {
        hideFormOne();
        showPartTwo();
    }
    return false;
    

    };

    你也需要改变 返回 true

        4
  •  0
  •   Justin L.    15 年前

    改变你的想法 validate 函数返回true(如果有效)。

    else {
      if validate('theForm','email') {
        hideFormOne();
        showPartTwo();
      };
      return false;
    };
    
    推荐文章