Disable/Enable 验证后的onClick 事件?

Disable/Enable onClick Event after Validation?

我正在使用 Jquery 验证 1.9.0 插件在提交之前验证我的表单。

http://jqueryvalidation.org/

我在 onClick 属性中的表单提交按钮上有 Google 事件跟踪代码,在表单验证完成并且表单实际提交之前我不想触发该代码以获得更好的效果数据 Google 轨道的准确性。

<button class="btn btn-primary" type="submit" onClick="ga('send', 'event', 'Form Submit', 'Button Click', 'A visitor has filled out the form.');">Submit</button>

什么是防止触发 onClick 属性中的函数的干净方法,表单验证完成后表单将提交,但在提交之前应该触发 ga事件跟踪代码。

您应该在验证表单后在表单提交事件上触发分析事件:

在您的表单上添加一个 onsubmit 事件:

<form onsubmit="submitMyForm(this);return false;">...</form>

最好先在方法中执行此操作。我在你的表单中有一个函数 onsubmit 是这样的:

funtion submitMyForm(form)
{
    if ($(form).valid())
    {
       ga('send', 'event', 'Form Submit', 'Button Click', 'A visitor has filled out the form.');

      $(form).submit();
    }
}

使用 $.validate 调用的 submitHandler 选项。它仅在表单有效时触发:

$(form).validate({
   //your usual stuff here
   submitHandler: function(){
     ga('send', 'event', 'Form Submit', 'Button Click', 'A visitor has filled out the form.');
   }
});