JS失效

 这个是下一页的JS

var currentPage = _g().getParameterContainer().getWidgetByName("pageIndex").getValue();

var ZYM = _g().getParameterContainer().getWidgetByName("ZYM").getValue();

if(ZYM!=1 && ZYM>=currentPage) {

_g().getParameterContainer().getWidgetByName("pageIndex").setValue(Number(currentPage) + 1, false);

_g().parameterCommit(); 

}

当前页码为1,2,3都可以生效,但是当前页码为4的时候就不生效了

FineReport yzmnJCsJ7252186 发布于 2025-9-23 14:12
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
ScyalcireLv7高级互助
发布于2025-9-23 15:14

当页码等于总页数时(即ZYM=4),代码中的ZYM>=currentPage条件会成立,继续执行+1操作导致越界

-------------------

	// 添加setTimeout保证组件加载完成
	setTimeout(function(){
	    var currentPage = Number(_g().getParameterContainer().getWidgetByName("pageIndex").getValue());
	    var ZYM = Number(_g().getParameterContainer().getWidgetByName("ZYM").getValue());
	    
	    // 严格校验页码有效性
	    if(currentPage < ZYM){
	        var nextPage = currentPage + 1;
	        _g().getParameterContainer().getWidgetByName("pageIndex").setValue(nextPage, false);
	        _g().parameterCommit();
	    }
	}, 500);

最佳回答
0
snrtuemcLv8专家互助
发布于2025-9-23 14:18

alert(ZYM);  看看满不满足你的ZYM!=1 && ZYM>=currentPage条件

  • 3关注人数
  • 36浏览人数
  • 最后回答于:2025-9-23 15:14
    请选择关闭问题的原因
    确定 取消
    返回顶部