繁体   English   中英

如何将HTML表单数据添加到mailto链接

[英]How do I add HTML form data to a mailto link

我正在尝试创建一个允许用户键入其姓氏和名字,然后提交的表单。 我想输入他们输入的名字和姓氏,然后将数据放在mailto链接中。 下面的代码是我所拥有的。 我究竟做错了什么?

<div class="form">
    <form>
        <input type="text" name="firstname" placeholder="First Name">
        <input type="text" name="lastname" placeholder="Last Name">
        <button type="submit" class="submit" onclick="submitForm()"><i class="material-icons md-24">play_circle_filled</i></button>
    </form>
    <script>
    function submitForm{
        var fname = get.getElementsByName("firstname").value;
        var lname = get.getElementsByName("lastname").value;
        window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20"+fname+"%20Last%20Name:"+lname"");
    }
    </script>
</div>

编辑 :清理您的JavaScript

function submitForm(){
    var fname = document.getElementsByName("firstname").value;
    var lname = document.getElementsByName("lastname").value;
    window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20"+fname+"%20Last%20Name:"+lname);
}

首先,您在函数名称后忘记了括号(如Erl V所述)。 函数总是带有这些括号。 您可以使用它们来给函数参数。 在此处阅读有关功能的更多信息。

其次,您忘记了window.open参数的连接字符串中的加号。 我删除了最后一部分,因为它是不必要的。

第三,您使用的是get.getElementsByName("firstname").value而不是document.getElementsByName("firstname")[0].value

这已经过测试,应该可以工作:

<form>
    <input type="text" name="firstname" placeholder="First Name">
    <input type="text" name="lastname" placeholder="Last Name">
    <button type="submit" class="submit" onclick="submitForm()">Submit</button>
</form>

<script>
function submitForm(){
    var fname = document.getElementsByName("firstname")[0].value;
    var lname = document.getElementsByName("lastname")[0].value;
    window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20"+fname+"%20Last%20Name:"+lname);
}
</script>

尝试这个

function submitForm(form) {
  window.open("mailto:someone@example.com?subject=Test%20Email&body=First%20Name:%20" + form.firstname.value + "%20Last%20Name:" + form.lastname.value);
  return false; /* cancel submit or else page reloads */
}

<form onsubmit="return submitForm(this);">
  <input type="text" name="firstname" placeholder="First Name" />
  <input type="text" name="lastname" placeholder="Last Name" />
  <button type="submit" class="submit"><i class="material-icons md-24">play_circle_filled</i></button>
</form>

顺便说一句,下面是您的代码中的错误。

:"+lname""); /*unwanted "" at the end*/

在这里,您有多项更正:

get.getElementsByName("firstname").value

它没有get. 相反,它是document. ,而且getElementsByName()会返回NodeList而不是一个HTML Element,因此同样地,您将需要使用index,因此最终得到document.getElementsByName("firstname")[0].value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM