jQuery从表单发送电子邮件?

ttvkxqim  于 2023-03-17  发布在  jQuery
关注(0)|答案(3)|浏览(230)

我尝试让表单在每次单击“Submit Query”按钮时向我发送一封电子邮件。单击按钮后,表单将被验证并将用户带到确认页面,但我没有收到电子邮件。
表格代码:

$(document).ready(function() {
    $('#sumbit').click(function() {
        $('#contactform').attr('action',
                       'mailto:chinochinako@gmail.com?subject=Jeannette Chambliss Digital Portfolio' +
                       $('#name').val() + '&body=' + $('#email').val() + '&body=' + $('#comments').val() + '&body=');
        $('#contactform').submit();
    });
});
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="http://malsup.github.io/min/jquery.cycle2.min.js"></script>
</head>
<body>
<form onSubmit="MM_validateForm('name','','R','comments','','R');return document.MM_returnValue" id="contactform">
	<label for="name">Full Name:
		<input name="name" type="text" id="name" required="required"></label><br /><br />
	<label for="email">Email:
	<input name="email" type="email" id="email" required="required"></label><br /><br />
	<label for="comments">Comments:
	<textarea name="comments" id="comments" required></textarea></label><br /><br />
<input name="submit" type="submit" id="submit" formaction="confirmation.html" formmethod="POST" formtarget="_self" action="mailto:chinochinako@gmail.com">
</form>

<script src="js/form.js"></script>
</body>
</html>
jq6vz3qz

jq6vz3qz1#

<script>
$(document).ready(function() {
$("#submit").click(function() {
var name = $("#name").val();
var email = $("#email").val();
var message = $("#message").val();
var contact = $("#contact").val();
$("#returnmessage").empty(); // To empty previous error/success message.
// Checking for blank fields.
if (name == '' || email == '' || contact == '') {
alert("Please Fill Required Fields");
} else {
// Returns successful data submission message when the entered information is stored in database.
$.post("contact_form.php", {
name1: name,
email1: email,
message1: message,
contact1: contact
}, function(data) {
$("#returnmessage").append(data); // Append returned message to message paragraph.
if (data == "Your Query has been received, We will contact you soon.") {
$("#form")[0].reset(); // To reset form fields on success.
}
});
}
});
});
</script>
tjvv9vkg

tjvv9vkg2#

$(function() {
  $('#contactform').submit(function(e) {
    e.preventDefault();
    $(this).attr(
      'action',
      'mailto:rafaeljunqueira.rs@gmail.com?subject=Jeannette Chambliss Digital Portfolio');
    console.log($(this)[0].action);
    return true;
  });
});
form ul {
  padding: 0;
  margin: 0;
}

form ul li {
  list-style: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="post" enctype="text/plain" id="contactform">
  <ul>
    <li>
      <input type="text" placeholder="Name" id="name" />
    </li>
    <li>
      <input type="text" placeholder="Email" id="email" />
    </li>
    <li>
      <input type="text" placeholder="Comments" id="comments" />
    </li>
  </ul>
  <button type="submit" id="submit">Send</button>
</form>
gpfsuwkq

gpfsuwkq3#

欢迎来到斯塔克奥弗福。
我怀疑您缺少.preventDefault(),无法阻止单击事件继续。

$(document).ready(function() {
  $('#submit').click(function(e) {
    e.preventDefault();  
    $('#contactform').attr(
      'action',
      'mailto:chinochinako@gmail.com?subject=Jeannette Chambliss Digital Portfolio');
    $('#contactform').submit();
  });
});

请注意,如果用户跳过按钮,点击Enter,此代码将不会执行。您可能需要考虑将验证代码移到jQuery的submit事件中,并将此代码也移到那里。
我注意到一个潜在的错别字:$('#sumbit').click(function() {
您的意思是:$('#submit').click(function() {

更新

  • 根据HTML规范,表单的操作字段应该是格式正确的HTTP URL。因此,“mailto:”对于操作字段无效。*

此外,这不会“发送”电子邮件。它只会要求默认的电子邮件程序编写一个用户可以发送的消息。如果你想通过SMTP发送提交的数据,这必须由服务器端脚本(ASP/ASP.NET,PHP,ColdFusion,Perl,Python...)通过表单处理程序完成。
x一个一个一个一个x一个一个二个一个x一个一个三个一个

相关问题