DEDE使用AJAX无刷新提交Form表单,PHP返回结果

$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 = "[email protected]"; // 发件邮箱用户名(请填写完整的email地址),这个邮箱是发送邮箱,phpmailer的意思就是使用一个邮箱向另一个邮箱发邮件,所以提前注册好一个邮箱
$mail->Password = "XXXXXXX"; // 发件邮箱密码
$mail->Port=25;
$mail->From = "[email protected]"; //邮件发送email地
$address ="[email protected]";//收件人地址址
$mail->AddAddress($address, "XXX");
//$mail->AddAddress("[email protected]", "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;
时间: 2024-08-24 07:00:12

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

ajax()使用serialize()提交form表单

jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直接选择form将其序列化,如: <form id="form"> <ul class="register_content_right_form_one"> <li id="register_content_on" style="margin-top: 16px;">

axios页面无刷新提交from表单

页面部分大概意思一下 1 <form method="post" enctype="multipart/form-data"> 2 ... 3 </form> axios部分代码以vue示例: //提交表单 onSubmit(e) { e = e || event; e.preventDefault(); let self = this; let formData = new FormData(); formData.append("

jquey ajax 无刷新提交form

http://bbs.csdn.net/topics/380237868 $.ajax({ type: "POST", url:ajaxCallUrl, data:$('#yourformid').serialize(),// 你的formid async: false, error: function(request) { alert("Connection error"); }, success: function(data) { $("#common

Jquery通过Ajax方式来提交Form表单简单实例

因工作中有时会用到ajax,但一般也都写成函数的形式了,再写底层时还要去查资料,这里小记一下ajax的小实例以后不用经常去查了 $.ajax({ type:"POST", url: "要提交的地址", data:{"para":1,"para1":2,...}, dataType:"json",/*要提交的类型*/ success:function(val){/*返回值可以是数组,val['name']*/

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

本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o

Ajax无刷新提交

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html

使用ajax提交form表单,包括ajax文件上传 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },"json"); 又或者是这样的ajax $.ajax({ url:"${pageContext.request.contextPath}/public/testupload", type:"post", data:{username:username},

ajax提交form表单资料详细汇总

一.ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单.通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.传统普通的网页(不使用ajax)如果需要更新内容,必须重载整个网页页面. 二.通过ajax提交form实现的登录实例: <body> <h1 align="center">用户登录</h1> &

AJAX提交form表单带文件上传

过了三天才想要写博客,这样不好,要改正 在做毕设的时候,用户发帖涉及到了文件上传的问题,在这里记录一下 背景: 在用户发帖的时候,用户只想发表文字postText,还有些用户想在发表postText的同时还发表一些图片,如何做? 上代码 不写的太细了,和流水账似的,挑重点记录一下. 1.前台的文件上传 本来想用form表单直接上传了,但是form提交时会刷新整个页面,但这不是我想要的,所以使用了ajax提交form表单. 利用ajax提交表单需要用到jquery.form.js这个包,网上有很多