一段时间以来,我一直在收集UTM参数并使用这些值成功填充表单字段。我想为utm_source
的“网站”提供默认值,而不是默认为utm_source
的空白或空值
这是我的代码:
// Parse the URL
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
var results = regex.exec(location.search);
return results === null
? ""
: decodeURIComponent(results[1].replace(/\+/g, " "));
}
// Give the URL parameters variable names
var source = getParameterByName("utm_source");
var medium = getParameterByName("utm_medium");
var campaign = getParameterByName("utm_campaign");
// Put the variable names into the hidden fields in the form.
// selector should be "p.YOURFIELDNAME input"
document.querySelector("p.utm_source input").value = source;
document.querySelector("p.utm_medium input").value = medium;
document.querySelector("p.utm_campaign input").value = campaign;
没有错误消息,脚本可以按预期工作。我只是想在参数之一为空的情况下添加默认值。我该怎么办?
答案 0 :(得分:1)
只要没有发现任何内容,假设您的getParameterByName函数返回undefined
或类似的伪造值,您应该可以通过条件操作做到这一点:
var source = getParameterByName('utm_source') || 'my default value';