我有一个问题,用JQuery和Php发送邮件。我正在使用引导推特,这是我的表格:
<div class="modal fade" id="myModalContactPage" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">New message</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="recipient-name" class="control-label">Recipient:</label>
<input type="text" class="form-control" id="recipient-name">
</div>
<div class="form-group">
<label for="message-text" class="control-label">Message:</label>
<textarea class="form-control" id="message-text"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button id="btnSendMail" type="button" class="btn btn-primary" name="submit" type="submit">Send message</button>
</div>
</div>
</div>
</div>
这里是JQuery:
$(function() {
$("#btnSendMail").click(function(){
var email = $("#recipient-name").val();
var message = $("#message-text").val();
$.ajax({
type: "POST",
url: "email.php",
data: data,
success: function(){
$('.success').fadeIn(1000);
}
});
});
});
然后是外部 Php 页面:
<?php
if($_POST){
$email = $_POST['email'];
$message = $_POST['message'];
//send email
mail("borgiesfranco@gmail.com", "test" .$email, $message);
}
?>
我不明白这段代码有什么问题...当我单击发送按钮时,没有任何反应。任何帮助将不胜感激。
试试这个:
$.ajax({
type: "POST",
url: "email.php",
data: {email:email,message:message},// send data like this then use post to receive it
success: function(msg){
$('.success').fadeIn(1000);//use echoed msg here
}
});
你的 Jquery 步骤不好.
您需要放置参数计。
data = {
'email' : $("#recipient-name").val(),
'message ' : $("#message-text").val()
};
$.ajax({
type: "POST",
url: "email.php",
data: data,
success: function(){
$('.success').fadeIn(1000);
}
});
http://www.sanwebe.com/2011/12/making-simple-jquery-ajax-contact-form
$(function() {
$("#btnSendMail").click(function(){
var email = $("#recipient-name").val();
var message = $("#message-text").val();
var data = {email:email,message:message}; //You missed this
$.ajax({
type: "POST",
url: "email.php",
data: data,
success: function(){
$('.success').fadeIn(1000);
}
});
});
});