将表单变量从 HTML 传递到 Javascript,但带有引号

Passing a form variable from HTML to Javascript, but with quotes

本文关键字:Javascript 变量 表单 HTML      更新时间:2023-09-26

我正在尝试将电子邮件地址从HTML表单传递到javascript片段中以传递给另一个程序。

表单输入:

<input name="email" placeholder="Enter Email Address Here" type="email" required="required" id="email_input">

这是我正在寻找的示例,请注意引号。为了使电子邮件通过,它必须在引号内。

<script type="text/javascript">
test({
  email: "example@example.com", 
});
</script>

这是我尝试过的:

<script type="text/javascript">
test({
  email: "document.getElementById("email_input");", 
});
</script>

如果我使用像 example@example.com 这样的静态值,一切都按预期工作。我无法弄清楚如何将值从电子邮件输入字段传递到"电子邮件:" javascript 并让它通过。

这是我需要的:我在那里有 document.getElementById("email_input");不起作用,这应该是什么?

我知道我在这里错过了一些简单的东西,只是不确定是什么。

提前感谢!

如果您只是尝试使用该test对象传递电子邮件输入的值,这就是您所需要的。

var emailString = document.getElementById("email_input").value;
test({
  email: emailString, 
});
</script>

您希望首先获取输入的值,然后将其作为字符串传递(假设您需要第一个示例中的字符串)

有两种方法可以从其他类型的元素(DOM 元素、数字、数组等)获取字符串:

<script type="text/javascript">
    var elmt = document.getElementById("email_input");
    var str1 = elmt.toString();
    var str2 = elmt + "";
    // alert(str1); and alert(str2) will pop the same result : a string of elmt
</script>

所以如果你想把整个输入作为一个字符串,你应该这样做:

<script type="text/javascript">
test({
  email: document.getElementById("email_input") + '' 
});
</script>

如果您只想将输入值作为字符串(例如电子邮件),您应该执行以下操作:

<script type="text/javascript">
test({
  email: document.getElementById("email_input").value + '' 
});
</script>

如果你真的需要在字符串中添加引号,你也可以这样做:

<script type="text/javascript">
    var str= "this is my string";
    var withquote= ' " ' + str + ' " ';
    //both of the var return a string but one will have a quote and the other won't
    alert(str); // pop: this is my string
    alert(withquote); // pop "this is my string"
</script>

所以在你的情况下:

如果您希望将整个输入作为带引号的字符串,您应该执行以下操作:

<script type="text/javascript">
test({
  email: ' " ' + document.getElementById("email_input") + ' " ' 
});
</script>

如果您只想将输入值作为带引号的字符串(例如电子邮件),您应该这样做:

<script type="text/javascript">
test({
  email: ' " ' + document.getElementById("email_input").value + ' " ' 
});
</script>

希望我已经说清楚了随意问我是否不是

有一个好的