织梦自定义表单通过ajax提交的实现方法

自定义表单通过ajax判断,提交不用跳转页面,提高用户体验。具体方法如下:

html表单代码部分,就提交按钮改成botton,,添加onclick事件

表单代码:

<form action="javascript:;" enctype="multipart/form-data" method="post">

<input type="hidden" name="action" value="post" />

<input type="hidden" name="diyid" value="1" />

<input type="hidden" name="do" value="2" />

<label>姓名:<input type="text" id="name" name="name" value="" /></label>

<label>电话:<input type="text" id="tel" name="tel" value="" /></label>

<label>手机:<input type="text" id="iphone" name="iphone" value="" /></label>

<label>邮箱:<input type="text" id="email" name="email" value="" /></label>

<table>

<tr>

<td valign="top">留言:</td>

<td><textarea id="liuyan" name="liuyan"></textarea></td>

</tr>

</table>

<input type="hidden" name="dede_fields" value="name,textchar;tel,textchar;iphone,textchar;email,textchar;liuyan,multitext" />

<input type="button" class="submit fr" value="提 交" onclick="add_ajaxmessage()"/>

</form>

js代码(这个代码之前一定要引入jQuery库):

function add_ajaxmessage(){

var name=document.getElementById("name");

var tel =document.getElementById("tel");

var iphone=document.getElementById("iphone");

var email=document.getElementById("email");

var liuyan=document.getElementById("liuyan");

//定义变量接收上面表单每项的值和几个dede隐藏的input的值

var dataString = ‘name=‘+ name.value + ‘&tel=‘ + tel.value + ‘&iphone=‘ + iphone.value + ‘&email=‘ + email.value + ‘&liuyan=‘+ liuyan.value +‘&action=post‘+ ‘&diyid=1&do=2&dede_fields=name,textchar;tel,textchar;iphone,textchar;email,textchar;liuyan,multitext‘;

$.ajax({

type: "POST",

url: "/plus/diy.php", //提交到后台文件

data: dataString, //传值

success: function(data) {

alert(data);//成功打印PHP返回的值

}

});

return false;

}

php代码:

找到:if(!empty($dede_fields))

{

//在里面加入判断语句,不判断也可以

if($name==""){

echo "请填写您的姓名!";//注意:输出用echo输出,不要用showMsg();

exit();

}

}

找到:$goto = !empty($cfg_cmspath) ? $cfg_cmspath : ‘/‘;

$bkmsg = ‘发布成功,请等待管理员处理...‘;

这两句,改成:echo "提交成功!";

删掉下面这一句:showmsg($bkmsg, $goto);

以上就是本文章的内容,希望对大家有所帮助。

时间: 2024-10-14 11:17:53

织梦自定义表单通过ajax提交的实现方法的相关文章

织梦自定义表单地区联动类型不可用的解决办法

dedecms织梦自定义表单地区联动类型不可用,原因是官方模板文件中注释掉了相关选项,需要修改两个文件 打开 dede/templets/diy_field_edit.htm 找到 <option value="stepselect">联动类型</option--> 改成 --><option value="stepselect">联动类型</option> 打开 dede/templets/diy_field_

dedecms(织梦)自定义表单后台显示不全

我们常用dedecms 自定义表单做留言功能.但是偶尔会遇到这样一个问题,就是 在前台提交表单后..后天显示不全.特别是中文字符  都不会显示, 比如下图: 这是因为  如果你织梦是gbk的话那就对了 是htmlspecialchars这个函数的原因 默认是utf8 如果不想换php版本的话就把htmlspecialchars($str);替换为htmlspecialchars($str, ENT_COMPAT ,'GB2312'); 所以 要在后台模板 wwww.baidu.com/dede/

织梦自定义表单前台模版显示+分页调用

根目录建立form.php <?php require_once(dirname(__FILE__)."/../include/common.inc.php"); require_once(DEDEINC.'/datalistcp.class.php'); $sql = "Select * From `#@_diyform1`";//可以接着加条件 例如order by id desc 排序 $dlist = new DataListCP(); $dlist-

织梦自定义表单发送邮件超简单版(支持QQ邮箱163邮箱)

环境要求 主机465端口是开启和放行的 php扩展openssl是开启的 php扩展sockets是开启的 1.QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来 QQ邮箱开启SMTP服务 和 获取授权码 163邮箱开启SMTP服务和 获取授权码 126邮箱开启SMTP服务,跟163一样. 2.网站后台 - 系统 - 系统基本参数 - 核心设置 是否启用SMTP方式发送邮件:是 SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq

织梦cmsf表单提交到邮箱 织梦表单发送到邮箱 织梦自定义表单发邮箱

大家在做织梦做网站开发时会遇到一个问题:织梦的自定义表单是一个很鸡肋的功能,不仅在后台展示得奇丑,而且也没有提醒功能,使用起来很不方便.很多人用织梦自定义表单时,都想用户提交表单的时候可以发送到自己的邮箱里面去提醒自己.这样省了经常去织梦网站后台看最新的表单情况. 第一步:打开织梦后台,系统->核心参数 开启smtp 第二步: 修改/plus/diy.php代码.打开网站根目录下的plus文件 夹,里面有个diy.php文件(表单提交后处理文件),打开它,在85行上下有如下代码: $query

DEDECMS织梦自定义表单中必填项、电话邮箱过滤以及验证码规则

织梦自定义表单必填项规则--->(wwwshu-acca.com网站表单) 1. 在plus/diy.php 的第 40行下加如下代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 //增加必填字段判断 if($required!=''){     if(preg_match('/,/', $required)){         $requireds = explode(',',$required);         foreach($requireds

jquery序列化form表单使用ajax提交后处理返回的json数据

这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串: ** 将一个字符串输出到浏览器 */    protected void writeJson(String json) {        PrintWriter pw = null;        try {            servletResponse.setContentType("text/plain;charset=UTF-8"

jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)

1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @ParentPackage(WapBaseAction.WAP_PACKAGE) //WAP_PACKAGE继承了json-default @Namespace("/") public class ModifyResumeAction extends WapBaseAction {... [emai

DedeCMS织梦自定义表单发送指定邮件

第一步.创建自定义表单 首先,我先自定义创建一个自定义表单,先把我们想要的属性,添加进行,然后完成后. 如下图: 1.先新建自定义表单,定义好前台页面.核心→频道模型→自定义表单→增加新的自定义表单 第二步.修改文件 打开网站根目录下的plus文件夹,里面有个diy.php文件(表单提交后处理文件),打开它,在85行上下有如下代码: $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar)  VALUES (NULL,