请选择 进入手机版 | 继续访问电脑版

织梦dedecms自定义表单ajax提交表单

[复制链接]
查看2116 | 回复0 | 2020-11-1 14:36 | 显示全部楼层 |阅读模式
织梦dedecms自定义表单ajax提交表单方法教程:
不写死任何东西,借助jquery ajax提交dedecms自定义表单到后台。
注意表单部分,此例只做为参考,实际项目中根据自己的情况酌情修改。
认真看下面例子中 红色部分

  1. <form action="/plus/diy.php" enctype="multipart/form-data" method="post" id="diyform">
  2. <input type="hidden" name="action" value="post" />
  3. <input type="hidden" name="diyid" value="1" />
  4. <input type="hidden" name="do" value="2" />
  5. <input type="hidden" name="dede_fields" value="mail_name,text;mail_phone;mail_content,multitext" />
  6. <input type="hidden" name="dede_fieldshash" value="86d34525cf75f8652022f6446152028d" />
  7. <input type="hidden" name="setup" value="ajax" /><!-- 这是为了跟其他非ajax自定义表单不冲突 -->
  8.     <div class="mail_rdd">
  9.         <div class="mail_content">
  10.             <table border="1" width="100%" class="mail_form">
  11.             <tr>
  12.                 <td width="50">
  13.                     姓名:
  14.                 </td>
  15.                 <td class="mail_input_bg1">
  16.                     <input type="text" name="mail_name" id="mail_name" maxlength="20"/>
  17.                 </td>
  18.             </tr>
  19.             <tr>
  20.                 <td>
  21.                     电话:
  22.                 </td>
  23.                 <td class="mail_input_bg1">
  24.                     <input type="text" name="mail_phone" id="mail_phone" maxlength="20"/>
  25.                 </td>
  26.             </tr>
  27.             <tr style="height:240px">
  28.                 <td>
  29.                     留言:
  30.                 </td>
  31.                 <td class="mail_input_bg3">
  32.                     <textarea name="mail_content" id="mail_content"></textarea>
  33.                 </td>
  34.             </tr>
  35.             </table>
  36.             <div class="mail_button_bar">
  37.                 <div class="mail_button confirm" onclick="send()">
  38.                 </div>
  39.             </div>
  40.         </div>
  41.     </div>
  42. </form>
复制代码
js部分
  1. <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js"></script>
  2. <script>
  3. function send(){
  4.     $.ajax({
  5.         cache: true,
  6.         type: "POST",
  7.         url:"/plus/diy.php",
  8.         data:$('#diyform').serialize(),// 你的form里面的id
  9.         success: function(data) {
  10.             if(data=="success"){
  11.                 alert('发送成功!');
  12.             }else{
  13.                 alert('发送失败!');
  14.             }
  15.         }
  16.     });
  17. }
  18. </script>
复制代码
打开/plus/diy.php 找到
  1. showmsg($bkmsg, $goto);
复制代码
替换为:
  1. if($setup == 'ajax')
  2. {
  3.     echo "success";
  4.     exit;
  5. }
  6. else
  7. {
  8.     showmsg($bkmsg, $goto);
  9. }
复制代码
如果是gbk编码的童鞋,还要修改/plus/diy.php,解决乱码问题
打开/plus/diy.php 找到
  1. $addvalue .= ", '".${$fieldinfo[0]}."'";
复制代码
改成:
  1. $addvalue .= ", '".iconv( "UTF-8", "gb2312//IGNORE" , ${$fieldinfo[0]})."'";
复制代码

另一种js $.post方法
  1. var dataString = {
  2.         'name':$("#name").val(),
  3.         'tel':$("#tel").val(),
  4.         'setup':'ajax',
  5.         'action':'post',
  6.         'diyid':1,
  7.         'do':2,
  8.         'dede_fields':'name,text;tel,text',
  9.         'dede_fieldshash':'6b5fb808a4b9ea6d0603d983246a88a1',
  10. };
  11. $.post("/plus/diy.php",dataString,function(result){
  12.         if(result=="1"){
  13.                 alert('发送成功!');
  14.                 $('#diyform').reset();//重置form
  15.         }else{
  16.                 alert('发送失败!');
  17.         }
  18. });
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-3-18