Как заполнить значение по умолчанию для параметра UTM, если значение не определено?

Я собираю UTM-параметры и использую эти значения для успешного заполнения полей формы в течение некоторого времени. Вместо того, чтобы по умолчанию использовать пустое или нулевое значение, если мой utm_source пуст, я хотел бы предоставить значение по умолчанию для utm_source "website"

Вот мой код:

// 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;

Нет сообщений об ошибках и скрипт работает как задумано. Я просто хочу добавить значение по умолчанию, если один из параметров пуст. Как я могу это сделать?

Всего 1 ответ


Вы должны быть в состоянии сделать это только через условное допущение, что ваша функция getParameterByName возвращает undefined или подобное ложное значение, когда ничего не найдено:

var source = getParameterByName('utm_source') || 'my default value'

Есть идеи?

10000