【问题标题】:How to use jQuery to trigger event when submit email form successfully成功提交电子邮件表单时如何使用jQuery触发事件
【发布时间】:2019-07-19 09:06:29
【问题描述】:

我正在尝试(使用 Adob​​e Analytics 和 Tealium)跟踪某人成功提交电子邮件表单时的事件。

我可以在用户单击提交时触发事件,但即使电子邮件字段为空或错误也会触发

jQuery(document).on('mousedown', 'button[name="dwfrm_requestpassword_send"]', function() {
  utag.link ({
    "link_name": "password email reset", 
    "event_name": "email password"
  });
});

但这会在每次点击时触发。然后我尝试添加这样的条件:

jQuery("#dwfrm_requestpassword_email-error")[0]if (jQuery("#dwfrm_requestpassword_email-error").length == 0) 但无法将其绑定在一起。

试图获得以下信息:当用户点击提交并成功触发跟踪事件时

我希望只有在输入电子邮件地址并且点击提交没有问题后才会触发 utag.link

【问题讨论】:

  • 您是否有表单的提交处理程序...这就是您应该执行此操作的地方...当用户单击提交时的事件处理程序
  • 我试过提交。这是它的样子。你会建议我如何写剧本?
  • 将 "mousedown" 更改为 "submit" 并且选择器到表单的 id 会使您在提交表单时触发代码 - 但不能保证它会在事件堆栈中验证完成。最好的办法是找到执行验证的代码,并在验证全部通过的代码路径中添加跟踪。

标签: javascript jquery tealium


【解决方案1】:

假设表示 id='dwfrm_requestpassword_email-error' 的 dom 节点仅在密码表单元素中存在错误时才存在,这应该可以解决问题。

   jQuery(document).on('click', 'button[name="dwfrm_requestpassword_send"]', function() {

  if(!jQuery("#dwfrm_requestpassword_email-error").length){
     utag.link ({
        "link_name": "password email reset", 
        "event_name": "email password"
      });
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    相关资源
    最近更新 更多