【Javascript】列表查询页面,简单地保存上一次查询的查询参数

开发中经常做一些查询参数 + 列表参数的功能,这些功能有时候需提供导出Excel,或带超链接到其他明细页面的功能点。

在一些交互性要求严格的系统,需求方会要求:

用户第一个输入某些查询条件进行列表查询;

然后用户修改了某些查询条件,但还没按查询按钮(即还没有进行第二次查询);

然后用户直接进行导出Excel或超链接查询相关详情。

这时候,用户导出的Excel数据应是用户第一次查询的结果(即不是将现有我们看到的修改后的查询参数传递到后台进行查询,而是需要将第一次查询的参数传递到后台进行查询)。

这样,就需要对每次查询时对查询参数进行保存,以下代码,用创建一个隐藏的input元素的形式,以该元素的value保存上一次的查询参数:

/**
 * 保存指定表单的提交参数
 * @param formId 指定表单ID
 */
function keepFormParam(formId) {
    var param = $("#" + formId).serialize();
    
    if ($('#keepFormParam').size() == 0) {
        $("#" + formId).after("<input type='hidden' id='keepFormParam' />");
    }
    $('#keepFormParam').val(encodeURI(param));
}

/**
 * 获取已保存的表单的提交参数
 * @returns 提交参数
 */
function getFormParam() {
    var param = $('#keepFormParam').val();
    return param;
}
原文地址:https://www.cnblogs.com/nick-huang/p/4998534.html