此功能用于让原生评论在发表时实现ajax评论提交,无需跳转页面.
该功能的实现需要修改核心文件 lib/function.base.php 的 emMsg() 函数,因为默认该函数会进行页面跳转
比如我就将这个函数修改为了这样
function emMsg($msg, $url = 'javascript:history.back(-1);', $isAutoGo = false) {
if($msg=='评论发表成功'){
echo ''.$msg.'';
}else{
echo ''.$msg.'';
}
exit;
}
不管$url参数和$isAutoGo参数如何狗不进行处理,只返回消息内容以便我们进行处理.
修改了这个函数之后,只需要在提交按钮onclick事件添加下面的函数即可,函数使用了jquery
注意这里使用的是默认表单id,如果你修改了id下面也要修改成对应的id
function ajax_post(){
$.post("index.php?action=addcom",{comname('#comname').val(),commail('#commail').val(),comurl('#comurl').val(),comment('#comment').val(),gid('#gid').val(),pid('#comment-pid').val()},
function(data){
//这里是返回结果,你可以在这里对结果进程处理
poststr(data);
},
"html");//这里返回的类型有:json,html,xml,text ,这里选择html类型的数据
//return true;
}