【问题标题】:How do I send an email with HTML with an address the user inputs?如何发送带有用户输入地址的 HTML 电子邮件?
【发布时间】:2012-10-04 09:25:03
【问题描述】:

我正在设计一个应用程序,并且有一个电子邮件页面。用户输入他们的姓名、电子邮件地址和消息,然后单击“提交”。这可行,但我不知道如何让用户的输入出现在电子邮件中。这是目前为止的代码;

<form id="contacts-form" action="mailto:megan.sime@idoxgroup.com">
    <ul class = "rounded">
        <li style = "color: #FFFFFF">Full Name:<input type="text" placeholder = "J. Doe" name = "signature" id = 'signature' /></li>
        <li style = "color: #FFFFFF">E-mail:<input type="text" placeholder = "www.example@examplemail.com" name = "address" id = 'address' /></li>
        <li style = "color: #FFFFFF">Message:<input type = "text" placeholder = "Message" name = "message" id = 'message' /></li>

        <a href="mailto:address?subject=subject&body=message" class="button">Submit</a>
    </ul>
</form>

有谁知道如何更改代码以允许用户输入进入电子邮件?非常感谢提前x

【问题讨论】:

    标签: javascript html email mailto


    【解决方案1】:

    试着写一个这样的函数:

    function sendEmail(){
        var addr = document.getElementById('address').value;
        var sig = document.getElementById('signature').value;
        var msg= document.getElementById('message').value;
    
        //concatenate to string to build URL
        var url = "mailto:" + .... + addr + ...;
        location.href = url; //(might want to use window.location or something else here)
    }
    

    然后将您的链接更改为:

    <a href="javasctipt:void(0)" onclick="javascript:sendEmail()" class="button">Submit</a>
    

    【讨论】:

    • 好的,谢谢。在 var url 部分是您将替换 ... 的示例; “邮箱:” + “www。” + 地址;??
    • var url 将用于构建您的串联字符串 mailto:address?subject=subject&body=message,并将地址/消息等替换为您的 vars
    【解决方案2】:

    您必须使用 javascript 来获取输入值。使用onclick="javascript:window.location='putURLhere'",您可以模仿链接。现在剩下的就是创建一个包含您的值的 URL,您可以使用 document.getElementById(id).value 获得它。使用+,您可以连接它们。

    例子:

    <a onclick="javascript:window.location='mailto:?subject=Message from '+document.getElementById('address').value+'&body='+document.getElementById('message').value">Submit</a>
    

    我希望这会有所帮助!

    【讨论】:

    • 非常感谢 - 添加 'mailto:'+document.getElementById('address')+' 是否正确?等到代码中?我想我现在明白了:)
    • 好!您可以保留form 标记中的action 部分,该部分仅与&lt;input type="submit"&gt; 元素结合使用,通常链接到将处理结果的单独PHP 或ASP 页面。
    【解决方案3】:

    通过“允许用户输入进入电子邮件”不完全确定您在问什么,但使用 document.getElementById('signature').value 将返回输入的值。然后,您可以将其包含在您的帖子/获取中。

    【讨论】:

    • 我的意思是,例如在“电子邮件”的输入标签中,他们输入的地址是计算机通过电子邮件发送消息的地址。
    • 好的,使用 roelandvanbeek 的解决方案。使用 'document.getElementById('address').value' 将返回该元素的输入。看看w3schools.com/jsref/met_doc_getelementbyid.asp
    • 你对javascript有多熟悉?
    • 我会说平均 - 我还没有在大学学习,但我已经为我的实习研究了一段时间
    • 好的,您制作的这个表格是为了将消息通过电子邮件发送给指定的收件人吗?不打开默认邮件客户端?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 2013-11-30
    相关资源
    最近更新 更多