Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery是否从表单发送电子邮件?_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery是否从表单发送电子邮件?

Javascript jQuery是否从表单发送电子邮件?,javascript,jquery,html,Javascript,Jquery,Html,我试图让我的表单在每次单击“提交查询”按钮时向我发送电子邮件。表单是经过验证的,点击按钮后会将用户带到确认页面,但我没有收到电子邮件 表格编号: $(文档).ready(函数(){ $('#sumbit')。单击(函数(){ $('#contactform').attr('操作', “邮寄至:chinochinako@gmail.com?主题=Jeannette Chambliss Digital Portfolio'+ $('#name').val()+'&body='+$('#email'

我试图让我的表单在每次单击“提交查询”按钮时向我发送电子邮件。表单是经过验证的,点击按钮后会将用户带到确认页面,但我没有收到电子邮件

表格编号:

$(文档).ready(函数(){
$('#sumbit')。单击(函数(){
$('#contactform').attr('操作',
“邮寄至:chinochinako@gmail.com?主题=Jeannette Chambliss Digital Portfolio'+
$('#name').val()+'&body='+$('#email').val()+'&body='+$('#comments').val()+'&body=');
$('#contactform')。提交();
});
});

全名:


电邮:

评论:


欢迎来到Stack Overlfow

我怀疑您缺少阻止单击事件继续进行的
.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中的<代码>提交< /代码>事件中,并将此代码移到那里。

我注意到一个潜在的输入错误:
$('#sumbit')。单击(function(){

你的意思是:
$(“#提交”)。单击(函数(){

更新

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

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

$(函数(){
$(#contactform')。提交(功能(e){
e、 预防默认值();
$(this.attr)(
“行动”,
“邮寄至:chinochinako@gmail.com?主题=Jeannette Chambliss Digital Portfolio');
console.log($(this)[0]。操作);
返回true;
});
});
表格ul{
填充:0;
保证金:0;
}
表格ul li{
列表样式:无;
}

发送

$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
var name=$(“#name”).val();
var email=$(“#email”).val();
var message=$(“#message”).val();
var contact=$(“#contact”).val();
$(“#returnmessage”).empty();//以清空以前的错误/成功消息。
//检查空白字段。
如果(姓名=“”| |电子邮件=“”| |联系人=“”){
警告(“请填写必填字段”);
}否则{
//当输入的信息存储在数据库中时,返回成功的数据提交消息。
$.post(“contact_form.php”{
名字1:名字,
email1:email,
信息1:信息,
联系人1:联系人
},函数(数据){
$(“#returnmessage”).append(data);//将返回的消息附加到消息段落。
如果(数据==“您的查询已收到,我们将很快与您联系。”){
$(“#表单”)[0].reset();//在成功时重置表单字段。
}
});
}
});
});

Forms不能发送电子邮件。你不能单独用JS发送电子邮件,你需要一个用ajax调用的服务器端脚本。这就是我希望做的——让表单打开一封电子邮件,这样用户就可以按照他们的愿望提交给我。谢谢你的帮助!谢谢你,但是这对我来说仍然不起作用。我更新了JS脚本,但仍然没有成功没有电子邮件。此外,用户除了点击按钮之外无法提交表单,因此请使用“回车”绕过按钮不是问题。@ChinoChinako将看我是否能准备一个例子。记住所评论的内容,表单本身无法发送电子邮件。使用
mailto时:user@domain.com
作为操作,这会要求浏览器要求您的默认电子邮件程序编写一条消息。这并不总是完美的,而且会出现错误有很多因素会导致它失败。谢谢你,@Twisty!这对我来说仍然不起作用,但也许我仍然在做一些错误的事情。我会继续玩代码,希望我能找到答案。我感谢你花时间研究这一点(并发现我的拼写错误).您使用什么浏览器进行测试?Firefox。它似乎对我的代码响应最快。
<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>