【发布时间】:2011-05-11 12:56:23
【问题描述】:
控制台没有显示任何错误,Firebug 也没有,所以我不知道为什么这不起作用。
我的表格:
<form action="" method="post" id="sendEmail">
<div class="alignleft">
<p><label for="order_ref">Photo ID:</label><input type="text" name="order_ref" id="order_ref" class="text smallinput" disabled="disabled" value="<? echo $ref; ?>"/></p>
<p><label for="order_name">Full Name:</label><input type="text" name="order_name" id="order_name" class="text" tabindex="10" /></p>
<p><label for="order_telephone">Contact Number:</label><input type="text" name="order_telephone" id="order_telephone" class="text" tabindex="20" /></p>
<p><label for="order_email">Email Address:</label><input type="text" name="order_email" id="order_email" class="text" tabindex="30" /></p>
</div>
<div class="alignright">
<p class="higher"><label for="order_message">Message</label><textarea name="order_message" id="order_message" class="uniform" tabindex="40"></textarea></p>
</div>
<div class="rounded color_grey"><p>Clicking confirm will mail your order to us. We'll be in touch shortly. <input type="submit" id="submit" name="submit" value="" class="alignright" /></p></div>
</form>
然后是我的 JS:
// JavaScript 文档 var g = jQuery.noConflict(); g(文档).ready(函数(){ g("#submit").click(函数(){ // 将初始错误值设置为 false var hasError = false; // 为每个表单字段设置 var var order_ref = g("#order_ref").val(); var order_name = g("#order_name").val(); var order_telephone = g("#order_telephone").val(); var order_email = g("#order_email").val(); var order_message = g("#order_message").val(); // 验证它们中的每一个 if(order_ref == '') { g("#order_ref").addClass('haserror');有错误=真; } if(order_name == '') { g("#order_name").addClass('haserror');有错误=真; } if(order_telephone == '') { g("#order_telephone").addClass('haserror');有错误=真; } if(order_email == '') { g("#order_email").val().addClass('haserror');有错误=真; } if(order_message == '') { g("#order_message").val().addClass('haserror');有错误=真; } // 如果没有错误,继续 如果(hasError == false){ //alert('没有错误'); g.post("/photo/theme/foodphoto/includes/mail_send.php", { // 将每个表单值传递给 PHP 文件进行处理 order_ref: order_ref, 订单名称:订单名称, order_telephone: order_telephone, order_email: order_email, order_message: order_message }, 功能(数据){ // 没有错误?太好了,现在做你想向用户展示他的消息发送的事情 警报(“已发送”); } ); } 返回假; }); });以及应该发送它的 PHP (mail_send.php)
<?php
// receive & save each of the vars from the AJAX request
$order_ref = $_POST['order_ref'];
$order_name = $_POST['order_name'];
$order_telephone = $_POST['order_telephone'];
$order_email = $_POST['order_email'];
$order_message = $_POST['order_message'];
// setup the email requirements
$to = "email@address.com";
$subject = "Order Has Been Placed";
// what must be in the mail message
$message = "The following order has been placed on your website:";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$order_name.' <'.$order_email.'>';
mail($to, $subject, $message, $headers);
?>
控制台报告没有 PHP 问题,而 Firebug(我是新手,所以我可能跳过了一些东西?)报告没有问题...?
我做错了什么?
【问题讨论】:
-
您没有收到电子邮件?
-
FireBug Net 面板显示什么?发帖了吗?
-
如果我在 mail_send.php 中回显“完成”,我会在萤火虫的响应选项卡中看到“完成”。因此,似乎正在处理 PHP?
-
@matt_asbury:不,我没有收到邮件