假设我有一个我想要发送电子邮件的用户列表。 mailto:让我打开电子邮件,然后插入他们的电子邮件地址。我希望这是动态的。
的mailto:1@1.com
的mailto:2@2.com
的mailto:3@3.com
的mailto:4@4.com
示例:我点击用户1& 4并发送和发送电子邮件。下次,我点击2& 3并发送另一封电子邮件。
问题:现在,每次点击用户,都会打开一个新窗口。我会向用户发送单独的电子邮件给1& 4.我必须使用什么功能,因此每次点击电子邮件时都不会打开新的电子邮件窗口。如果我单击所有用户1到4,我希望所有4个电子邮件地址都在同一个窗口中,因此我向所有4个用户发送1封电子邮件。不是相反。
答案 0 :(得分:1)
您可以使用Javascript或Jquery来检测点击次数,阻止默认操作,然后将它们编译到列表中。然后必须使用第二个按钮来触发操作。
<a href='1@1.com' class='mailto'>User 1</a>
<a href='2@2.com' class='mailto'>User 2</a>
<a href='mailto:' id='combined' style='display: none;'></a>
<input type='button' value='Send' id='send'>
<script>
$('.mailto').click(function(e){
e.preventDefault();
$('#combined').attr('href',$('#combined').attr('href') + $(this).attr('href') + ';');
});
$('#send').click(function(e) {
$('#combined')[0].click();
});
</script>
参见示例:http://jsfiddle.net/evVR8/2
你可能还想要一个清晰的按钮,将#combined的href返回'mailto:'
编辑 - 更新了jsfiddle以显示当前所选用户的清晰显示列表。
你也可以结合使用这个和@ Brad-Christie的答案,这样他们就可以简单地使用复选框,这样就可以更容易地看到你发送给谁了。但不是使用window.location.replace
而是使用隐藏链接并单击触发器。
答案 1 :(得分:1)
虽然通过mailto:
协议存在no regulated way to send emails to multiple recipients,但您可以引入一种使用复选框(或其他方式)来模仿它的格式。但是,如前所述,我们无法保证它能够正常运作:
<label>
<input type="checkbox" name="to" value="1@1.com">1@1.com
</label>
<label>
<input type="checkbox" name="to" value="2@2.com">2@2.com
</label>
<label>
<input type="checkbox" name="to" value="3@3.com">3@3.com
</label>
<label>
<input type="checkbox" name="to" value="4@4.com">4@4.com
</label>
<input type="button" value="Send Email" id="send-email" />
为简单起见,请使用一些jQuery:
$('#send-email').on('click', function(e){
var to = [];
$('input[name="to"]:checked').each(function(){
to.push($(this).val());
});
window.location.replace('mailto:' + to.join(','));
e.preventDefault();
return false;
});
但是,您最好在后端使用PHP send the email,因为它可以(并且将)优雅且一致地处理多个收件人。
答案 2 :(得分:0)
请查看this link
当您知道如何添加多个收件人时,只需将字符串与地址连接或添加简单的javascript和复选框