时间:2021-05-26
背景:
想在自己的网站中有这样一个设计:
用户点击提交按钮之后,就会打开本地邮件客户端,并自动将他在输入框中输入的内容作为邮件的内容,像下面这样:
mailto可以帮助实现这个功能。
简介:
mailto是一种电子邮件协议,通过该协议可以创建一个指向电子邮件地址的超级链接,通过该链接可以在Internet中发送电子邮件。就像在地址栏输入一个网址会打开一个网页一样,输入mailto:name@email.com,就会打开本地邮件客户端,并将邮件发送给name@email.com。
在HTML中使用mailto
1.使用方式:
一种方式是将mailto链接写在a标签的href属性中:
<a href="mailto:name@email.com">Email</a>
另一种是写在form的action属性中
<form name='sendmail' action='mailto:name@email.com'> <input name='name' type='text'> <input name='subject' type='text' > <input name='email' type='text' > <input name='number' type='text' > <input name='body' type='text' ></form>2.传递参数:
mailto支持以下几种参数:
这两种方式都可以传递参数,但是效果不太一样。
如果使用a标签的话,只能在mailto链接中添加参数:
<a href="mailto:to?subject=subject&cc=cc&body=body">send mail</a>第一个参数后面添加?,其他参数之间用&连接。
效果是这样的:
如果用form的话,在mailto链接中传递的参数和效果与使用a的相同,他的特别之处是他会把input中的name属性的值和其输入内容也传递进去:
这种方式不需要用JS获取输入框中的内容,直接可以将用户输入的内容更新到邮件内容区,但是有一个明显的缺点,就是它传进去的格式很不美观也很不方便。几乎没有人会用这样的方式发送邮件,用户还需要自己删掉等号,自己调整样式。
所以我选择用a标签来打开mailto链接,通过JS将内容格式化之后作为参数传递给a标签。
<p class="title">CONTACT ME</p> <ul class="email"> <li><input type="text" name="name" placeholder="Name"></li> <li><input type="text" name="email" placeholder="Email Address"></li> <li><input type="text" name="number" placeholder="Phone Number"></li> <li class="message"><textarea name="message" placeholder="Message"></textarea> </li> <button class="btn btn-define">Submit</button> <a href="mailto" id="send"></a> </ul>创建一个隐形的a标签,当用户输入好内容点击按钮之后,js会取得输入框中的内容,并且格式化后传递给a,然后模拟点击a标签。
JQuery代码:
function sendEmail(){ var name=$("[name='name']").val(), email=$("[name='email']").val(), number=$("[name='number']").val(), message=$("[name='message']").val(), body="My Name is: "+name+"%0a%0d" +"My Email Address is: "+email+"%0a%0d" +"My Phone Number is: "+number+"%0a%0d" +"Message:"+"%0a%0d"+message; $("#send").attr("href","mailto:mamengyi1121@163.com?body="+body); document.getElementById("send").click();}$(document).load( $(".btn").click(sendEmail););其中的%0d%0a是回车符合换行符,我的邮件客户端不能解析HTML格式的字符,(传递<br>无法实现换行),传递UTL编码则可以实现。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
当你通过类似Mailto:链接发送邮件,此时邮件客户端就是MAPI客户端。如果要找出到这个MAPI客户端在哪里,这里有个函数能从注册表中获得该信息。复制代码代码
文件上传指的是将用户本地的文件上传到服务器中。上传文件需要处理两个位置:客户端客户端如何上传文件?上传文件的表单项需要指定为input,type是file要上传
网页微信客户端是腾讯推出的网页版微信电脑版,将网页版微信做成了一个单独的PC客户端,以供用户更加便捷的使用微信。网页微信客户端支持电脑键盘快速输入、实时新消息提
本文实例为大家分享了基于Express框架使用POST传递Form数据的具体代码,供大家参考,具体内容如下客户端使用Form发送数据在客户端Html文件中For
前面学习了,服务端验证,这篇文章中,我们接着学习客户端验证,客户端的验证,使用Jquery和Jquery插件来实现【jquery.validate.min.js