0

我有一个 PHP 页面,它使用通过 URL 提交的不同变量显示数据。例如:

index.php?rownum=30&colnum=2&qlang=en

我需要让用户能够更改排序顺序。

为此,我添加了一个 HTML <select>,其中有两个选项调用我的re_order()函数,该函数基本上应该调用相同的 URL,除了新的排序顺序外,所有参数都完好无损。

是否有一种简单的方法来执行该操作,或者我应该使用 PHP 会话来查看之前设置了哪些参数?

4

1 回答 1

1

这是一个应该由客户处理的任务。

您可能可以执行以下操作:

location.search = location.search.replace(/([&?]sort)(?:=[^&]*)?(?=&|$)/i, '$1=newvalue');

您可以使其成为可重用的功能:

function setUrlParam(searchString, param, value) {
    var rx = new RegExp('([&?]' + param + ')(?:=[^&]*)?(?=&|$)', 'i'),
        encodedVal = encodeURIComponent(value);

    return rx.test(searchString)?
        searchString.replace(rx, '$1=' + encodedVal) :
        searchString += '&' + param + '=' + encodedVal;
}


location.search = setUrlParam(location.search, 'sort', 'date');
于 2013-11-02T14:18:57.897 回答