Я пытаюсь установить значение поля ввода к значению utm_parameter из URLзаписи в поле ввода
У меня есть этот код в голове страницы для извлечения значений параметров и установить значение полей
<!-- Get UTM Parameters Code -->
<script>
// Parse the URL
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
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.
document.getElementsByName("utm_source").value = source;
document.getElementsByName("utm_medium").value = medium;
document.getElementsByName("utm_campaign").value = campaign;
</script>
<!-- End Get UTM Parameters Code -->
это код, который находится в теле страницы.
<form>
<input type="text" name="utm_source" id="utm_source" value="">
<input type="text" name="utm_medium" id="utm_medium" value="">
<input type="text" name="utm_campaign" id="utm_campaign" value="">
</form>
Параметры извлекаются успешно, но они не заданы как значение полей ввода.
С кодом что-то не так?
Я бы не рекомендовал использовать 'document.write()' на всех. Если вы хотите протестировать/отладить, используйте «console.log();» и откройте консоль браузера. Возможно, этот пост поможет вам понять http://stackoverflow.com/questions/20273805/document-write-removes-other-html Также 'getElementsByName()' возвращает коллекцию всех элементов в документе с указанным именем - объект NodeList , – NewToJS
'document.write()' не так, как вы думаете. – melancia
Я положил document.write() только для того, чтобы узнать, успешно ли извлечен парметер. –