Create mailto from form with custom fields

时光毁灭记忆、已成空白 提交于 2019-12-23 13:22:46

问题


I have a HTML form with 3 fields (Name, E-Mail and Message) and I want to create a custom mailto with this 3 fields but I don't want create a fixed content like this:

<a href="mailto:mail@company.com?subject=Subject&body=HelloWorld">Send a mail</a>

Is this possible? If it isn't, do I have another way to do a simple formulary? My page is a landing page and only have HTML, CSS and some JavaScript (Bootstrap too).

--- Edit ---

I found this, for example: http://www.techrepublic.com/article/set-up-an-html-mailto-form-without-a-back-end-script/

But it write too much information in the body, the result is literal:

Name=Your name
E-mail=mail@company.com
Comment=Testing textarea 
Submit=Submit

回答1:


I can answer myself, after a deep search I could fix my problem.

JavaScript:

function sendMail() {
    var name = $('#contact #name').val();
    var email = $('#contact #email').val();
    var message = $('#contact textarea').val();
    window.location.href = 'mailto:mail@company.com?subject=The subject - ' + name + ' (' + email + ')' + '&body=' + message;
};

HTML:

<form> 
    <input type="text" id="name" name="name" >
    <input type="email" id="email" name="email">
    <textarea rows="5"></textarea>
</form>
<button type="submit" class="btn btn-primary" onclick="sendMail()">Button Text</button>

We can't use a submit input, because window.location.href doesn't work with it; we need to use a button who will run a function.

And it's all, very simple :)



来源:https://stackoverflow.com/questions/32604812/create-mailto-from-form-with-custom-fields

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!