_paginate.html 如何支持js调用

目前demo中的_paginate.html 只适合普通的简单参数url跳转action的情况,但我页面的提交其实是调用一个js函数,帮我完成ajax的json参数提交,动态更新表格数据的,不想进行跳转,js如下:


//加载当前告警列表
function searchAlarms(page) {
   var dataparams = {
       data: {
           "alarmCode": $("#currentAlarm_keyCode").val(),//当前页面表单搜索条件
           "startTime":$("#startTime_forAlarmTCACount").val(),//当前页面表单搜索条件
           "endTime":$("#endTime_forAlarmTCACount").val(),//当前页面表单搜索条件
           "toPage":page
       }
   };
   $.ajax({
       url: "/alarm/getAlarms",
       type: "post",
       data: JSON.stringify(dataparams),
       contentType: "application/json;charset=utf-8",
       success: function (data) {
           var html = "";
           if (data.data != null && data.data != undefined) {
               $(data.data.alarms).each(function (i, n) {
                   html += "<tr>";
                   html += "<td>"+n.meName+ "</td>";
                   html += "<td>"+n.alarmCode+ "</td>";
                   html += "<td>" + (n.startTime == null ? "" : n.startTime) + "</td>";
                   html += "</tr>";
               });
               if (html == "") {
                   html = "<tr><td colspan='6'>暂无数据</td></tr>"
               }
           } else {
                alert('bad response');
           }
           $("#ums_alarm_currentAlarm_tableBody").html(html);
       },
       error: function () {
           showErrorInfo("系统内部异常");
       }
   });
}

但我页面里加入下面这句后,得到的结果就是转向 “/alarms/页码” ,无法调用我的js进行,怎样才能实现 "javascript:searchAlarms(页码)"的功能呢?

#@paginate(alarmList.pageNumber,alarmList.totalPage, "/alarms")


而且,我看 _paginate.html里面,<a href="后可以加上 enjoy的指令,不报错 ,但我把 <a href 换成 <button onclick="后面的#就报语法错误

#if (currentPage > 8)
#(link)(#())#(1)#(link)(#())#(2)…#end


评论区

JFinal

2019-09-22 15:40

enjoy 是在后端处理的,js 是在前端的浏览器中处理的,这里面有一个次序问题,一般有两种次序:
1:js 发 ajax ,然后后端 enjoy 渲染模板响应给浏览器, 最后浏览器将响应的结果解析并显示我
2:浏览器发普通请求,然后后端 enjoy 渲染模板响应给浏览器, 最后浏览器将响应的结果解析并显示

js 与 enjoy 的处理完全处在不同的阶段,这是首先要理清的问题

我猜测你的需求可以学一学 jfinal 官网的文档频道,也是 js 发起 ajax 请求,然后后端响应右侧的文档内容部分, js 得到这部分内容以后替换掉内容区域(左侧目录部分的内容不动)

JFinal

2019-09-22 15:41

本站文档频道的 js 脚本可以直接拿去用,当然最好是加入俱乐部来获取整站源码:
https://www.jfinal.com/club

zgysc

2019-10-08 17:28

谢谢波总,我再研究一下

zgysc

2019-10-08 17:45

其实我是想实现:一个搜索页面下既有搜索选项,又有搜索结果,这样的情况下,点击下一页时,要求是调用js函数,而不是直接跳转到action

zgysc

2019-11-23 23:22

搞定了! 就是修改_paginate.html里所有的a href为
a href="javascript:goto('#(link)/............')"............



然后在具体页面里增加一个goto的js方法就可实现了

热门反馈

扫码入社