簡體   English   中英

從元素中提取數據 <form action = “…”> 用於GTM

[英]Extract data from element <form action = “…”> for GTM

請告訴我如何使用Google跟蹤代碼管理器中的幫助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,等等。我想將值分別寫入變量。

Custom JavaScript變量需要遵循兩個簡單規則。 首先,該腳本必須包裝在一個匿名函數塊中(function(){...})。 其次,該函數必須具有return語句(return somevalue;)。

謝謝!

結果:call2 / 5,order2 / 5,order / 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 s並使用$ .each來獲取其動作。

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

編輯:切換trimStart replace

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM