将输入的访问代码附加到 URL 作为 utm 标签

Appending access code input into URL as utm tag

我目前正在构建一个带有访问代码表单字段的登录页面。 我一直在寻找一种方法,将访问代码输入到表单中,作为标签附加到 url.

在字段中输入“12345”,然后直接提交给 url“www.website.com/?code=12345”

下面是我目前的代码 - :

<script>
function btntest_onclick(){
    if (document.getElementById('input-code').value == '1234','5678','9809') {
        var domain = "http://www.website.com?";
        var data = $(this).serialize();
        window.location.href = url
    } 
    else {
        alert ( 'not found' );
    }
};
</script>
<center>
<span class="text-container">
<input type="text" name="accesscode" placeholder="ACCESS CODE" maxlength="10" size="25" id="input-code">
<p><a href="#" class="btn" onclick="return btntest_onclick()">ENTER</a></p>
</span>
</center>

如有任何建议,我们将不胜感激!

谢谢。

你的代码有几个问题:

  • if包含document.getElementById('input-code').value == '1234','5678','9809'。这不是 JS 中有效的条件语句。我假设您正在尝试测试该值是否等于任何字符串,这可以使用 || (逻辑“或”)来完成。

  • 代码从未添加到 URL 的末尾。

  • 您从未定义要重定向到的 url 变量。

这是一个注释版本,应该解释一些执行此操作的方法:

function btntest_onclick() {
  // First, we assign the value to a variable, just to keep the code tidy
  var value = document.getElementById('input-code').value
  // Now we compare that variable against each valid option
  // if any of these are true, we will progress
  if (value === '1234' || value === '5678' || value === '9809') {
    // Use a template literal (The ` quotes) to build the new URL
    var url = `http://www.website.com?code=${value}`
    // This could also be written as:
    // var url = "http://www.website.com?code=" + value
    // Navigate to your new URL (Replaced with an alert as a demonstration):
    alert(url)
    // window.location.href = url
  } else {
    // Otherwise, show the alert
    alert('not found')
  }
}
<center>
  <span class="text-container">
<input type="text" name="accesscode" placeholder="ACCESS CODE" maxlength="10" size="25" id="input-code">
<p><a href="#" class="btn" onclick="return btntest_onclick()">ENTER</a></p>
</span>
</center>