Dedecms织梦jquery+ajax方式提交自定义表单

前端之家收集整理的这篇文章主要介绍了Dedecms织梦jquery+ajax方式提交自定义表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。

我们开发 Dedecms 模板,接触到织梦的自定义表单是必不可少的,但是默认的自定义表单都是跳转方式完成提交,很不友好,今天我们可以借助 jquery ajax 提交 Dedecms 自定义表单到后台。此例只做为参考,实际项目中根据自己的情况酌情修改

html 部分

<form action="/plus/diy.PHP" enctype="multipart/form-data" method="post" id="diyform">

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

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

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

<input type="hidden" name="dede_fields" value="mail_name,text;mail_phone;mail_content,multitext" />

<input type="hidden" name="dede_fieldshash" value="86d34525cf75f8652022f6446152028d" />

<input type="hidden" name="setup" value="ajax" />

<div class="mail_rdd">

<div class="mail_content">

<table border="1" width="100%" class="mail_form">

<tr>

<td width="50">

姓名:

</td>

<td class="mail_input_bg1">

<input type="text" name="mail_name" id="mail_name" maxlength="20"/>

</td>

</tr>

<tr>

<td>

电话:

</td>

<td class="mail_input_bg1">

<input type="text" name="mail_phone" id="mail_phone" maxlength="20"/>

</td>

</tr>

<tr style="height:240px">

<td>

留言:

</td>

<td class="mail_input_bg3">

<textarea name="mail_content" id="mail_content"></textarea>

</td>

</tr>

</table>

<div class="mail_button_bar">

<div class="mail_button confirm" onclick="send()">

</div>

</div>

</div>

</div>

</form>

JS 部分

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js"></script>

<script>

function send(){

$.ajax({

cache: true,

type: "POST",

url:"/plus/diy.PHP",

data:$('#mail_form').serialize(),

success: function(data) {

if(data=="success"){

alert('发送成功!');

}else{

alert('发送失败!');

}

}

});

}

</script>

/plus/diy.PHP 修改找到 showMsg($bkmsg,-1,3000); 改成:

if($setup == 'ajax')

{

echo "success";

exit;

}

else

{

showMsg($bkmsg,3000);

}

如果是 gbk 编码的童鞋,还要修改/plus/diy.PHP解决乱码问题找到 $addvalue .= ",'".${$fieldinfo[0]}."'"; 改成:

$addvalue .= ",'".iconv( "UTF-8","gb2312//IGNORE",${$fieldinfo[0]})."'";

$.post 方法

var dataString = {

'name':$("#name").val(),

'tel':$("#tel").val(),

'setup':'ajax',

'action':'post',

'diyid':1,

'do':2,

'dede_fields':'name,text;tel,text',

'dede_fieldshash':'6b5fb808a4b9ea6d0603d983246a88a1',

};

$.post("/plus/diy.PHP",dataString,function(result){

if(result=="1"){

alert('发送成功!');

$('#diyform').reset();//重置form

}else{

alert('发送失败!');

}

});

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的Dedecms相关文章