При отправке формы mailto из javascript со значениями формы

У меня есть форма, и когда форма отправлена ​​(тип ввода = "отправить"), я хотел бы открыть почтовый браузер клиента по умолчанию с предварительно заполненным сообщением электронной почты.

Итак, когда пользователь нажимает «Отправить», должны произойти две вещи. Откройте электронную почту и отправьте форму.

Кроме того, как я могу использовать значения, введенные в форму, для предварительного заполнения электронной почты?

Я новичок в javascript-jquery, поэтому, пожалуйста, любой пример кода будет очень полезен!

Спасибо за вашу помощь!


person user829237    schedule 30.07.2011    source источник
comment
Вы хотите, чтобы... javascript справился с этим? Я бы предпочел PHP по крайней мере.   -  person ngen    schedule 30.07.2011
comment
Дело в том, что я не могу использовать электронную почту на стороне сервера, потому что одно из требований состоит в том, что электронная почта должна быть отправлена ​​​​из собственного почтового клиента клиента, чтобы сообщение появилось в его папке «Исходящие».   -  person user829237    schedule 30.07.2011


Ответы (3)


Перед отправкой формы вы можете:

 window.location.href = 'mailto:[email protected]';

это откроет предопределенный почтовый клиент, и вы также можете предварительно заполнить какое-то поле. посмотрите синтаксис mailto здесь или опубликуйте дополнительную информацию, чтобы мы могли вам помочь ;

Это можно сделать так:

$('input[type=submit]').click(function(){
     window.location.href = "mailto:" + $('#email').val();
});
person Nicola Peluchetti    schedule 30.07.2011
comment
Итак, я смотрю на что-то вроде этого: code‹input type=submit onclick=javascript:Email() class=submit value=Submit/›code - person user829237; 30.07.2011
comment
Ага. Спасибо еще раз. Только что увидел ваш новый пример. Этот пример будет продолжать отправлять форму после открытия почтового ящика? - person user829237; 30.07.2011
comment
Да конечно подаст. Если вы посмотрите на ссылку, вы увидите, что вы также можете предварительно заполнить некоторые поля, такие как тело сообщения. - person Nicola Peluchetti; 30.07.2011
comment
Ага. Это я понял сам :) Большое спасибо. Вы очень помогли. Кстати. могу ли я заполнить тело html, чтобы стилизовать тело? - person user829237; 30.07.2011
comment
Нет, не думаю (по крайней мере, я пробовал с этим window.location.href = 'mailto:[email protected]?body=<b>I am having trouble finding information on</b>';, и это не сработало! :) - person Nicola Peluchetti; 30.07.2011

Я использовал такой код, когда мне нужно было отправить по почте с помощью моего локального почтового клиента, это может помочь:

<html>
<head>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<form id="myform" enctype="text/plain" action="test.php" method="post" >
	<input type="text" value="value1" id ="field1" name="field1">
	<input type="checkbox" value="valuel2" id ="field2" name="field2" checked>
	<input type="checkbox" value="value3" id ="field3" name="field3" >
	<textarea id="myText" name ="texty">
	    Lorem ipsum...
	</textarea>
	<button onclick="sendMail(); return false">Send</button>
</form>
<script>
function sendMail() {
	$myform = $('#myform');
	$myform.prop ('action','mailto:[email protected]');
	$myform.submit();
}
</script>

</body>
</html>

person daniel    schedule 29.02.2016

вы можете предварительно заполнить форму с помощью

$("textarea").val('Your message here! You\' have to strip \'');

если это почтовый клиент по умолчанию, боюсь, это невозможно

person genesis    schedule 30.07.2011
comment
Я бы не рекомендовал JS для отправки значений формы после отправки. - person ngen; 30.07.2011
comment
он не хочет отправлять почту, я думаю, он хочет открыть почтовый клиент по умолчанию - person Nicola Peluchetti; 30.07.2011
comment
@NicolaPeluchetti: ааа! Так что нельзя :/ - person genesis; 30.07.2011
comment
@Genesis, нет, это возможно. Это немного старо, как техника - person Nicola Peluchetti; 30.07.2011
comment
@Genesis: я не буду предварительно заполнять форму. Я только хочу получить значения из формы. - person user829237; 30.07.2011