私はURL書き込み変数
からutm_parameterの値に入力フィールドの値を設定しようとしています、私はパラメータの値を抽出するために、ページの先頭にこのコードを持っており、フィールドの値を設定する
<!-- 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.getElementsByName("utm_source")[0].value = source;
document.getElementsByName("utm_medium")[0].value = medium;
document.getElementsByName("utm_campaign")[0].value = campaign;
document.getElementsByName()
を以下
'document.write();を使用しないことをお勧めします。あなたがテスト/デバッグしたいなら、 'console.log();'を使い、ブラウザコンソールを開きます。おそらく、この記事はhttp://stackoverflow.com/questions/20273805/document-write-removes-other-htmlの理解に役立ちます。また、 'getElementsByName()'は、指定された名前を持つドキュメント内のすべての要素のコレクションを返します。NodeListオブジェクト。 – NewToJS
'document.write()'はあなたの考えではありません。 – melancia
私はparmeterが正常に抽出されたかどうかを確認するためにdocument.write()を入れます –