Javascript 使用jQuery脚本复制电子邮件的PHP表单处理程序
我有一个php函数来处理从jQuery脚本传递的表单结果,因为表单内容也被传递到工作簿CRM url,并添加到那里的记录中 所有工作正常,但电子邮件发送了3次。单击的按钮不在表单中,Javascript 使用jQuery脚本复制电子邮件的PHP表单处理程序,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我有一个php函数来处理从jQuery脚本传递的表单结果,因为表单内容也被传递到工作簿CRM url,并添加到那里的记录中 所有工作正常,但电子邮件发送了3次。单击的按钮不在表单中,isset($\u POST)的“发送”值是从表单中的隐藏表单字段传递的 我试过: 在PHP和jQuery中添加标志 在jQuery中添加警报 添加退出(“已发送”)在mail()函数之后 alert()实验似乎表明jQuery不是问题所在,但在PHP中标志似乎表明了同样的问题 以下是jQuery: $(docu
isset($\u POST)
的“发送”值是从表单中的隐藏表单字段传递的
我试过:
- 在PHP和jQuery中添加标志李>
- 在jQuery中添加警报李>
- 添加退出(“已发送”)代码>在
mail()函数之后
alert()
实验似乎表明jQuery不是问题所在,但在PHP中标志似乎表明了同样的问题
以下是jQuery:
$(document).ready(function () {
$("#test-vf-button1").click(function (event) {
event.preventDefault();
// Field values as array
var name = $("#name").val();
var email = $("#email").val();
var message = $("#message").val();
var formData = $("#wb_form").serialize();
var url = $(location).attr('hostname');
var pathname = $(location).attr('pathname');
var pageUrl = url + pathname;
console.log(pageUrl);
$("#validate-message").empty();
$("#confirm-message").empty();
if (name == '' || email == '' || message == '') {
$("#validate-message").append(" Fill in required fields");
} else {
// Returns successful data submission message when the entered information is stored in database.
$.ajax({
type: 'POST',
url: "http://visual-factory.co.uk/",
data: formData,
success: function () {
$.ajax({
type: 'POST',
url: "https://secure.workbooks.com/crm/web_leads",
crossDomain: true,
data: formData,
dataType: 'text',
success: function () {
PHP处理函数:
function vf_deliver_mail() {
// if the submit button is clicked, send the email
if ( isset( $_POST['send'] ) ) {
// sanitize form values
$title = sanitize_text_field( $_POST['person_lead_party']['person_personal_title'] );
$name = sanitize_text_field( $_POST['person_lead_party']['name'] );
$jobrole = sanitize_text_field( $_POST['person_lead_party']['person_job_role'] );
$email = sanitize_text_field( $_POST['org_lead_party']['main_location']['email']);
$phone = sanitize_text_field( $_POST['org_lead_party']['main_location']['telephone'] );
$company = sanitize_text_field( $_POST['org_lead_party']['name'] );
$country = sanitize_text_field( $_POST['org_lead_party']['main_location']['country'] );
$messagecontent = esc_textarea( $_POST['vf-message'] );
$message = "<p>Title: ".$title."</p>";
$message .= "<p>Name of lead is: ".$name."</p>";
$message .= "<p>Job Role: ".$jobrole."</p>";
$message .= "<p>Email is: ".$email."</p>";
$message .= "<p>Phone is: ".$phone."</p>";
$message .= "<p>Company is: ".$company."</p>";
$message .= "<p>Country is: ".$country."</p>";
$message .= "<p>Message: ".$messagecontent.".</p>";
// get the blog administrator's email address
$to = get_option( 'admin_email' );
$subject = "Form response";
$headers = "From: $name <$email>" . "\r\n";
mail( $to, $subject, $message, $headers ) ;
}
}
功能vf_deliver_mail(){
//如果单击“提交”按钮,则发送电子邮件
如果(isset($_POST['send'])){
//清理表单值
$title=sanitize_text_字段($_POST['person_lead_party']['person_personal_title']);
$name=sanitize_text_字段($_POST['person\u lead\u party']['name']);
$jobrole=sanitize_text_字段($_POST['person_lead_party']['person_job_role']);
$email=sanitize_text_字段($_POST['org_lead_party']['main_location']['email']);
$phone=sanitize_text_字段($_POST['org_lead_party']['main_location']['phone']);
$company=sanitize_text_字段($_POST['org\u lead\u party']['name']);
$country=sanitize_text_字段($_POST['org_lead_party']['main_location']['country']);
$messagecontent=esc_textarea($_POST['vf-message']);
$message=“Title:”.$Title。””;
$message.=“潜在客户的名称为:“.$Name.””;
$message.=“作业角色:”.$jobrole.”;
$message.=“电子邮件是:“.$Email.””;
$message.=“电话是:“.$Phone.””;
$message.=“公司是:“.$Company.””;
$message.=“国家是:“.$Country。””;
$message.=“消息:“.$messagecontent.””;
//获取博客管理员的电子邮件地址
$to=get_选项('admin_email');
$subject=“表单响应”;
$headers=“From:$name”“\r\n”;
邮件($to、$subject、$message、$headers);
}
}
是console.log(pageUrl);在控制台中只出现一次?可能是电子邮件软件配置错误?您是否尝试使用其他脚本发送电子邮件?