$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar)  VALUES (NULL, 0 $addvalue); ";

引入phpmailer

加入下面代码:

/*发送邮件*/
$addvalue_ary = explode(',', $addvalue);
//由于DEDE是将全部表单数据提交过来。所以这里须要分隔一下。
$addvar_ary = array(
1 => '称呼',
2 => 'Email',
3 => '手机/电话',
4 => '站点',
5 => '留言内容',
); $text = '';
foreach($addvar_ary as $key=>$value)
{
$text.=$value.': '.$addvalue_ary[$key].'<br>';
} require("class.smtp.php");
require("class.phpmailer.php");
//下载的文件必须放在该文件所在文件夹,把phpmailer下载后。class.phpmailer.php, class.pop3.php和 class.smtp.php放到/plus文件夹下
$mail = new PHPMailer(); //建立邮件发送类
$mail->CharSet = "utf-8"; // 这里指定字符集!
$mail->Encoding = "base64";
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "smtp.163.com"; // 您的企业邮局域名,你申请发件邮箱的域名。
$mail->FromName="新官网留言";
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "XXXX@163.com"; // 发件邮箱username(请填写完整的email地址),这个邮箱是发送邮箱。phpmailer的意思就是使用一个邮箱向还有一个邮箱发邮件。所以提前注冊好一个邮箱
$mail->Password = "XXXXXXX"; // 发件邮箱password
$mail->Port=25;
$mail->From = "XXXX@163.com"; //邮件发送email地
$address ="XXXX@XXX.cn";//收件人地址址
$mail->AddAddress($address, "XXX");
//$mail->AddAddress("XXXX@XXX.cn", "XXX");//收件人地址。能够替换成不论什么想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名") if($action == 'post') { if($do == 2) { $mail_title="客户留言".date('y-m-d H:i:s',time());
$mail->Subject = $mail_title; //邮件标题
$mail->Body = $text; //邮件内容,$name,$phone..等是你取的用户前端提交过来的值,假设不想取数的话,就写个提示信息,如,站点有新订单了,请登录站点及时处理。
//showMsg('发送之前', 'javascript:;');
if(!$mail->send())
{
//echo "Fail to send.";
showMsg('发送失败', 'javascript:;');
//showmsg('发送失败');
exit;
}
//showMsg('发送成功', 'javascript:;');
//echo "邮件发送成功"; //dede能够用showmsg('发送成功');来測试是否发送成功
}
}
/*End 发送邮件*/ if($dsql->ExecuteNoneQuery($query))
{
$id = $dsql->GetLastID();
if($diy->public == 2)
{
//diy.php? action=view&diyid={$diy->diyid}&id=$id
$goto = "diy.php?action=list&diyid={$diy->diyid}";
$bkmsg = '公布成功。如今转向表单列表页...';
}
else
{
$goto = '-1';
$bkmsg = '邮件已经自己主动发送到SPARK工作人员,请等待联系您!';
}
echo "OK";
//showmsg($bkmsg, $goto);
}
}
}

JS代码:

var dataString = 'iname='+ $("#name").val() + '&email=' + $("#email").val() + '&tel=' + $("#tel").val()+ '&website=' + $("#website").val()+ '&action=post'+ '&diyid=1&do=2&dede_fields=iname,text;email,text;tel,text;website,text;content,text&dede_fieldshash=1f6d061a5dd65989abfd887';
$.ajax({
type: "POST",
url: "/plus/diy.php",
data: dataString,
success: function(data) {
if(data=="OK"){
//关闭遮罩
$("#submitmask").fadeOut(500);
alert("提交成功! ");
}else{
$("#submitmask").fadeOut(500);
alert("出错了! 请使用其它方式联系我们!");
}
}
});
return false;

DEDE使用AJAX无刷新提交Form表单,PHP返回结果的更多相关文章

  1. 简单方法实现无刷新提交Form表单

    前几天遇到一个前端的问题.我希望提交表单后页面不跳转且不刷新当前页面,然而查了很多方法都没有解决. 由于Form 是提交后一定刷新页面的,所以我们可以用一个折中的办法.我们给Form 指定一个ifra ...

  2. ajax无刷新方式收集表单并提交表单

    ajax无刷新方式收集表单有两种方式, 一个是使用html5的FormData.一个是传统的方式. 一,FormData,在主流的浏览器中可以用,IE不好用啊. 另外,FormData使用有两个条件, ...

  3. 导出excel用ajax不行,提交form表单可以

    导出excel用ajax不行,提交form表单可以. 一直用ajax找原因,网页不出现下载提示框 写了 response.setContentType("application/binary ...

  4. 通过jQuery的Ajax方式来提交Form表单

    通过jQuery的Ajax方式来提交Form表单 $.ajax({ url:ajaxCallUrl, type:"POST", cache:true, async:false, d ...

  5. Jquery通过Ajax方式来提交Form表单

    今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...

  6. axios页面无刷新提交from表单

    页面部分大概意思一下 <form method="post" enctype="multipart/form-data"> ... </for ...

  7. jquey ajax 无刷新提交form

    http://bbs.csdn.net/topics/380237868 $.ajax({ type: "POST", url:ajaxCallUrl, data:$('#your ...

  8. jQuery实现form表单基于ajax无刷新提交方法详解

    本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC &quo ...

  9. Ajax无刷新提交

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. access数据库:怎么直接从access里把数据里同样的文字替换成空字符&quot;&quot;

    access数据库:怎么直接从access里把数据里同样的文字替换成空字符"" 搜所到文字后,替换的项里写"",就是了.一定要是英文的""

  2. JDBC使用数据库来完成分页功能

    本篇讲诉如何在页面中通过操作数据库来完成数据显示的分页功能.当一个操作数据库进行查询的语句返回的结果集内容如果过多,那么内存极有可能溢出,所以在大数据的情况下分页是必须的.当然分页能通过很多种方式来实 ...

  3. kernel hexdump分析 (2.0)

    有的时候print_hex_dump_bytes循环打印很多信息的时候(大于1K) 用UART串口打印的信息总是会有丢失,估计是printk缓冲区的问题把,具体原因不是太清楚 于是自己写了个比较笨的d ...

  4. Velocity教程-脚本语法详解(转)

    Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Veloci ...

  5. uva 10581 - Partitioning for fun and profit(记忆化搜索+数论)

    题目链接:uva 10581 - Partitioning for fun and profit 题目大意:给定m,n,k,将m分解成n份,然后依照每份的个数排定字典序,而且划分时要求ai−1≤ai, ...

  6. New 和 GetMem 的不同之处

    如果操作一个 record 指针中的字符串变量,会不会丢失 string 的内 存空间,造成内存泄漏? 结果是:使用 New() 分配的内存,会自动初始化 record 的内容,并且在 Dispose ...

  7. uva 1151 - Buy or Build poj 2784 Buy or Build(最小生成树)

    最小生成树算法简单 只是增加了一些新的东西,对于需要最小生成树算法 和中 并检查使用的一系列 还有一些更深入的了解. 方法的一些复杂问题 #include<cstdio> #include ...

  8. [Android]Eclipse的使用

    1.取消Eclipse拼写检查 General -> Editors -> Text Editors -> Spelling 取消enable spell checking 前面的勾 ...

  9. Java 5种字符串拼接方式性能比较。

    最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...

  10. 使用国内源解决Qt在线更新慢的问题

    Qt在线安装更新工具默认使用官方的源,国内访问比较慢,可以在setting中增加国内的源来提高更新速度,如下面的源: http://mirrors.ustc.edu.cn/qtproject/onli ...