У меня есть форма, которую не технический пользователь может обновить поля формы и имя формы, которое затем автоматически обновляется на целевой странице.
У меня есть дополнительные функции, которые я использую, которые устанавливают параметры utm в скрытых полях, для которых требуется имя формы, и я также проталкиваю URL-адрес формы в скрытом поле, которое использует идентификатор поля.
Я хочу, чтобы имя формы HTML автоматически устанавливалось при загрузке страницы, даже если оно было изменено, и идентификатор поля, который нужно установить из имени поля формы, которое не изменяется.
для этого используется следующее скрытое поле:
<input type="hidden" name="FormURL" id="fe580" value="">
Я хотел получить идентификатор - fe580, установленный на основе имени - FormURL в сценарии eblow, поскольку имя HTML не будет изменено, но идентификатор может зависеть от порядка, в котором находится это скрытое поле.
<script>
var input = document.getElementById("fe580"); input.value = location.href;
</script>
С именем формы я бы хотел, чтобы это автоматически устанавливалось при загрузке страницы на основе имени формы в случае его изменения. Ниже приведено название формы, которое можно изменить.
Ниже приведен скрипт, который я использую для установки значений UTM.
<script type="text/javascript">
var defaultHiddenFieldNameValue = "NoData";
function getQueryStringParamValue(strQStrParam) {
var strURL = document.location.href;
var strQStrParamValue = "";
if (strURL.indexOf('?') != -1)
{
strQStrParamValue = strURL.substr(strURL.indexOf('?') + 1);
if (strQStrParamValue.indexOf(strQStrParam) != -1)
{
strQStrParamValue = strQStrParamValue.substr(strQStrParamValue.indexOf(strQStrParam));
strQStrParamValue = strQStrParamValue.substr(strQStrParamValue.indexOf('=') + 1);
if (strQStrParamValue.indexOf('&') != -1)
strQStrParamValue = strQStrParamValue.substr(0, strQStrParamValue.indexOf('&'));
return strQStrParamValue;
}else{
strQStrParamValue = defaultHiddenFieldNameValue;
return strQStrParamValue;
}
}else{
strQStrParamValue = defaultHiddenFieldNameValue;
return strQStrParamValue;
}
}
var form = "SYSTEM_WEBFORM_WHITEPAPER"; //FORM NAME ON THIS LINE
function setCampaign(){
var elqForm = document.forms[form];
//repeat for each field to populate
elqForm.elements['utm_source'].value = getQueryStringParamValue('utm_source');
elqForm.elements['utm_medium'].value = getQueryStringParamValue('utm_medium');
elqForm.elements['utm_campaign'].value = getQueryStringParamValue('utm_campaign');
elqForm.elements['utm_content'].value = getQueryStringParamValue('utm_content');
}
window.onload = setCampaign;
</script>
При загрузке страницы идентификатор скрытого поля и имя формы устанавливаются в правильных местах.
У меня нет доступа к коду формы, потому что он генерируется платформой, в которой маркетолог может построить форму.