【发布时间】:2014-05-29 21:14:12
【问题描述】:
我无法提交此电子邮件表单。email.php 文件位于根目录中,如下所示:
<?php
$val= $_POST['val'];
$toemail='someone@gmail.com';
$name = $val['name'];
$email = $val['email'];
$msg = $val['msg'];
$subject = 'Message from zachjanice.com';
$headers = "From: zachjanice.com \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<b>Name :</b>".$name."<br>";
$message .='<b>Email :</b>'.$email."<br>";
$message .='<b>Message :</b>'.$msg;
mail($toemail, $subject, $message, $headers);
echo "Thanks for contacting me!";
?>
我正在使用 validate.js 来验证表单并引导样式。这是 HTML:
<form class="contactform" role="form">
<div class="form-group">
<label class="control-label">Name</label>
<div class="controls">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
<input type="text" class="form-control" name="name" placeholder="Name">
</div>
</div>
</div>
<div class="form-group">
<label class="control-label">Email</label>
<div class="controls">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-envelope"></i></span>
<input type="text" class="form-control" id="email" name="email" placeholder="Email">
</div>
</div>
</div>
<div class="form-group ">
<label class="control-label">Message</label>
<div class="controls">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-pencil"></i></span>
<textarea name="msg" class="form-control " rows="4" cols="78" placeholder="Enter your message here"></textarea>
</div>
</div>
</div>
<div class="controls" style="margin-left: 40%;">
<button type="submit" id="mybtn" class="btn btn-primary">Send Message</button>
</div>
</form>
我忘了这里是我的 JS:
$(document).ready(function(){
$.validator.setDefaults({
submitHandler: function(form) {
$.ajax({
type: "POST",
url: "email.php",
data: { 'val':$(".contactform").serializeJSON() }
}).done(function(data) {
alert(data);
});
}
});
$(".contactform").validate(
{rules:
{name:"required",
email:{required:true,email:true},
website:{required:false,url:true},
cate:"required",
msg:{required:true, maxlength:300
}},
errorClass:"error",
highlight: function(label) {
$(label).closest('.form-group').removeClass('has-success').addClass('has-error');
},
success: function(label) {
label
.text('Seems Perfect!').addClass('valid')
.closest('.form-group').addClass('has-success');
}
});
});
非常感谢您的帮助。如果可能的话,我正在努力在今晚完成这个网站,但此时我有点慌乱。
【问题讨论】:
-
您是否在您的网络服务器和 PHP.ini 中配置了电子邮件设置?
-
那么有什么问题呢?你有错误吗?表单是否正确提交但不发送电子邮件?您需要提供更多信息。
-
无论如何我都不是 php 专家。我的网站没有 php.ini,我正在使用 angular.js,但无法通过 angular 工作。当我点击提交按钮,没有任何反应,所以我不确定它是否正在尝试提交。我正在关注infotuts.com/bootstrap-3-contact-form的代码我刚刚更改了一些属性。
标签: javascript php twitter-bootstrap email