从元素中提取数据 <表单操作 = GTM 的"..." >



请告诉我如何在谷歌跟踪代码管理器中借助JS或jQuery(添加自定义JavaScript变量(提取数据,以获取表单操作属性中元素的值。

例如,我在网站上有几个表单,它们有不同的操作:

<form action = "call2 / 5" method = "post" class = "bp">
<form action = "order2 / 5" method = "post">
<form action = "order / 5" method = "post">
<form action = "order / 5" method = "post">
<form action = "order / 5" method = "post">
<form action = "call" method = "post">
<form action = "feedback" method = "post">

我需要得到:call2/5,order2/5,order/5等。我想将值单独写入变量。

自定义 JavaScript 变量需要遵循两个简单的规则。首先,脚本必须包装在匿名功能块 (function(( { ... }( 中。其次,函数必须有一个 return 语句(返回某个值;(。

谢谢!

结果:调用 2

/5,订单 2/5,订单/5

如果要根据元素的action值检索特定的<form>元素,请使用以下命令:

function getFormByAction(action) {
return Array.from(document.getElementsByTagName("form")).find(form => form.action === action);
}

或者,ES5 版本:

function getFormByAction(action) {
var allForms = document.getElementsByTagName("form");
for (var i = 0; i < allForms.length; ++i) {
var form = allForms[i];
if (form.action === action) {
return form;
}
}
}

如果不存在具有指定操作的表单,这将返回undefined

您可以选择文档中的所有form,并使用 $.each 获取其操作

var result = "";
$("form").each(function(_, v){
result += ", " + $(v).attr("action");
});
result = result.replace(", ", "");
return result;

编辑:与replace切换trimStart

最新更新