在表单提交

时间:2016-06-20 10:58:10

标签: javascript forms submit form-submit

我有一个表单,在发送表单之前,我有一个Javascript,它会在发送表单之前更改某些字段。

它始终适用于我和我的大多数用户,但我注意到在Google Analytics中,有时某些用户的字段不会更改。

他们必须激活JS,否则他们不会出现在Google Analytics中。并不是因为旧版本的IE(< 8),因为我可以看到他们的浏览器和操作系统都存在差异。

我不知道为什么它对一些人不起作用,你有没有看到代码的想法?

document.forms['myform'].addEventListener('submit', function() {
  // send analytics event
  ga('send', 'event', {
    eventCategory: 'Submit form',
    eventAction: 'click',
    transport: 'beacon'
  });

  var myredirect = 'http://' + document.querySelector('#myform #myformp').value + '.DestinationWebSite.com/?SOURCE=' + document.querySelector('#myform #myformsource').value + '&FNAME=' + document.querySelector('#myform #myformfname').value + '&LNAME=' + document.querySelector('#myform #myformlname').value + '&EMAIL=' + document.querySelector('#myform #myformemail').value + '&PHONE=' + document.querySelector('#myform #myformphone').value;

  document.querySelector('#myform #myformredirect').value = myredirect;
  document.querySelector('#myform #myformredirectonlist').value = myredirect;
  document.querySelector('#myform #myformname').value = document.querySelector('#myform #myformfname').value + ' ' + document.querySelector('#myform #myformlname').value;

  setCookie('fname', document.querySelector('#myform #myformfname').value, 7);
  setCookie('lname', document.querySelector('#myform #myformlname').value, 7);
  setCookie('email', document.querySelector('#myform #myformemail').value, 7);
  setCookie('phone', document.querySelector('#myform #myformphone').value, 7);
  setCookie('source', document.querySelector('#myform #myformsource').value, 7);
  setCookie('p', document.querySelector('#myform #myformp').value, 7);

});

谢谢

编辑:可能是使用Adblock的用户或类似的脚本有此问题的用户。我不知道为什么,因为adblock的过滤器列表中没有任何模式。但是我问这个问题的另一个论坛上的一个用户访问了我的网站并使用和不使用adblock进行了测试,他能够重现该错误。 我自己不使用adblock,所以我永远无法找到罪魁祸首。

0 个答案:

没有答案