Reputation: 8990
I currently have a form set up with 5 radio options. I have a switch statement depending on the option you pick and that determines where the email is going to go.
Inside my switch, I have this piece of code.
window.open("mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody);
It all works fine when it opens up my email client with all of the content however it also opens a blank page in the browser.
Is there another way to achieve this or prevent a blank window from opening but still make it as if you clicked on the href:mailto ?
Upvotes: 49
Views: 80701
Reputation: 461
The second argument in window.open is the target.
window.open('mailto:'+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody, '_self');
should do the trick.
Upvotes: 35
Reputation: 79
After your "window.open" statement, try running an "if statement" to check and see if a new window was opened so that it will close.
if (win && win.open && !win.closed)
{
win.close();
}
This will happen very fast so the users might notice that a window opened and closed before the email application opened.
Upvotes: -5
Reputation: 97
Location.href doesn't seem to work in chrome. I do it like this:
x=window.open("mailstring");
x.close();
Works perfect for me.
Upvotes: 5
Reputation: 5545
Instead of:
window.open("mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody);
You can try:
location.href = "mailto:"+emailTo+'?cc='+emailCC+'&subject='+emailSub+'&body='+emailBody;
Upvotes: 60