在页面中,有一个广本框名称为:email,有一个提交按钮,表单名为cert_email我用jquery写,当文本框失去焦点时,执行://电子邮件文本框动作定义
$("input[@name=email]").blur(function() { 
if($("input[@name='email']").val()==''){
$("#msg").html("请输入要认证的电子邮件!");$("input[@name=email]").focus();return false;
}
if (!$("input[@name=email]").val().match(/(\w+[-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$/)) {
$("#msg").html("电子邮件格式错误!"); $("input[@name=email]").focus();return false;
}
$("#msg").html("");return true;
});
现在我想当提交表的时候,在提交事件中再作一次如上的检测,但不想重写上面的代码,如何直接调用,当检测通过,执行后续的动作,通不过就不执行://电子邮件认证提交时动作定义
$("form[@name=cert_email]").submit(function() {
//这里如何书写再调用上面的动作作一次检测,通过则执行下面的,不通过就不执行
$("#fw_title div.left").html("电子邮件认证");
$("#fw_body").html("");
$("#fw_button").hide(); $("#fw_load").show();
$("#floatwin").css({width:'260px',height:'160px'});
$("input[@name='submit']").attr({disabled:true});
$("#floatwin").runfloatwin();
return true;
});

解决方案 »

  1.   

    form 里记得有个ONSUBMITE事件,用那个事件去执行上面那个方法
      

  2.   

    把检查的那段代码封装为一个函数,如checkEmail,然后
    $("input[@name=email]").blur(checkEmail)$("form[@name=cert_email]").submit(function() { 
    checkEmail();
    //这里如何书写再调用上面的动作作一次检测,通过则执行下面的,不通过就不执行 未验证
      

  3.   

    form 里记得有一个个onsubmit事件,用那个事件去执行上面那个方法,例如 onsubmit="return checkemail();" 记得这里要return ,checkmail()方法里要返回一个布尔类型的值
      

  4.   

    to 2#
    这样不可以啊,当checkEmail()返回ture或false时,后面的动作都不执行了