• 织梦自定义表单通过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);

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

  • 相关阅读:
    关于JS中涉及的常用类型转换及运算符表达式
    关于JS脚本语言的基础语法
    钱、车、房、能力
    三数中找最大值
    C#语句
    进制转换
    自动拆装箱、可变参数
    使用dom4j解析xml
    jaxp的dom方式操作(查找、添加、修改、删除、遍历节点)
    xml-dtd
  • 原文地址:https://www.cnblogs.com/wangdahai/p/7517608.html
Copyright © 2020-2023  润新知