DEDEcms織夢自定義表單通過ajax提交實現代碼

DEDEcms織夢繫統通過自定義表單通過ajax判斷,提交不用跳轉頁面,提高用戶體驗。具體方法如下:
html表單代碼部分,就提交按鈕改成botton,,添加onclick事件:

1、表單代碼:

<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>

2、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;
 
}

3、php後端代碼:

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

{
    //在裏面加入判斷語句,不判斷也可以

    if($name==""){    
        echo "請填寫您的姓名!";    //注意:輸出用echo輸出,不要用showMsg();
        exit();
    }
}

2.找到:

$goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/';
$bkmsg = '發佈成功,請等待管理員處理...';
這兩句,改成:

echo "提交成功!";



刪掉下面這一句:

showmsg($bkmsg, $goto);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章