将表单字段类型值设置为Javascript变量,然后在另一个变量中使用此值

将表单字段类型值设置为Javascript变量,然后在另一个变量中使用此值,javascript,forms,variables,dom,element,Javascript,Forms,Variables,Dom,Element,我是个傻瓜。我正在创建一个表单,供访问者注册参加网络研讨会。我需要为提交表单的每个访问者创建一个“唯一代码”或唯一标识符。 为此,我创建了一个名为“唯一代码”的隐藏字段。这个唯一的代码是由一个变量生成的,该变量连接一个字符串、表单中键入的电子邮件地址值和我从另一个变量分配的网络研讨会id。当我提交表单时,我得到的只是字符串和网络研讨会id,而不是电子邮件地址。所需的结果值如下所示:GTW-visitor@emailaddress.com-12345. 这是我的密码: <form act

我是个傻瓜。我正在创建一个表单,供访问者注册参加网络研讨会。我需要为提交表单的每个访问者创建一个“唯一代码”或唯一标识符。 为此,我创建了一个名为“唯一代码”的隐藏字段。这个唯一的代码是由一个变量生成的,该变量连接一个字符串、表单中键入的电子邮件地址值和我从另一个变量分配的网络研讨会id。当我提交表单时,我得到的只是字符串和网络研讨会id,而不是电子邮件地址。所需的结果值如下所示:GTW-visitor@emailaddress.com-12345. 这是我的密码:

  <form action="/destination/" method="post" name="GTW_Test_Form">
    <input type="hidden" name="gtwWebinarId" id="gtwWebinarId" value="">
    <input type="hidden" name="uniqueCode" id="uniqueCode" value="">
    <label for="email"><b>Email</b></label><br>
    <input type="text" placeholder="Enter Email" name="emailAddress" id="emailAddress"  required><br>
    <label for="name"><b>First Name</b></label><br>
    <input type="text" placeholder="Your First Name" name="firstName" id="firstName" required><br>
    <label for="name"><b>Last Name</b></label><br>
    <input type="text" placeholder="Your Last Name" name="lastName" id="lastName" required><br><br>
    <input type="submit" value="Register to webinar">
  </form>

电子邮件

名字

姓氏


然后,javascript:

<SCRIPT LANGUAGE="JavaScript">
  var emailAddressInput = document.getElementById("emailAddress").value;
  var webinarId = "12345678";
  var uniqueCode = "GTW-" + emailAddressInput + "-" + webinarId;
  document.querySelector("#gtwWebinarId").value = webinarId;
  document.querySelector("#uniqueCode").value = uniqueCode;
</script>

var emailAddressInput=document.getElementById(“emailAddress”).value;
var webinarId=“12345678”;
var uniqueCode=“GTW-”+电子邮件地址输入+“-”+网络研讨会;
document.querySelector(“#gtwWebinarId”).value=webinarId;
document.querySelector(“#uniqueCode”).value=uniqueCode;
提前感谢,,
Daniel

尝试使用
var emailAddressInput=document.querySelector(“#emailAddress”).value

即使在表单字段有任何值之前,脚本也会运行,您可能需要在一个函数中编写脚本代码,该函数将由表单的“onsubmit”事件调用

<form onsubmit="foo(event)">

<script LANGUAGE="JavaScript">
    const foo = (event)=>{
        event.preventDefault();
        var emailAddressInput = document.getElementById("emailAddress").value;
        var webinarId = "12345678";
        var uniqueCode = "GTW-" + emailAddressInput + "-" + webinarId;
        document.querySelector("#gtwWebinarId").value = webinarId;
        document.querySelector("#uniqueCode").value = uniqueCode;
    }
</script>

常量foo=(事件)=>{
event.preventDefault();
var emailAddressInput=document.getElementById(“emailAddress”).value;
var webinarId=“12345678”;
var uniqueCode=“GTW-”+电子邮件地址输入+“-”+网络研讨会;
document.querySelector(“#gtwWebinarId”).value=webinarId;
document.querySelector(“#uniqueCode”).value=uniqueCode;
}

这确实有效!谢谢你,赛

看起来您的脚本没有在事件侦听器上运行;按下
submit
按钮时,它不会运行,而是按顺序运行。