Javascript替换&从一个变量改变字符串

v64noz0r  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(110)

我有一个网址https://example.com/fullimg.php?eid=1&pgno=&pdate=2022-12-24
我想创建一个"下一页"和"上一页"按钮。如果用户单击"下一页"按钮,他将重定向到pgno=1,表示下一页。如果他再次单击"下一页"按钮,他将重定向到pgno=2,依此类推,如果他再次单击"下一页",他将重定向到pgno = 3,这里的pdate是动态的,每天都在变化。
我试过这个

let url = window.location.href;
      if (url.includes("pgno=")) {
        url = url.replace("pgno=", "pgno=2");
      } else if (url.includes("pgno=2")) {
        url = url.replace("pgno=", "pgno=3");
      }
      console.log(url);
      window.location.replace(url);

我也试过这个

let url = window.location.href;
      if (url.includes("pgno=")) {
        url = url.replace("pgno=", "pgno=2");
      } 
      if (url.includes("pgno=2")) {
        url = url.replace("pgno=", "pgno=3");
      }
      console.log(url);
      window.location.replace(url);

对于这两个,它只执行第一个条件,而不是第二个。点击下一步按钮后,它会转到pgno=2,但之后当我点击下一步,它仍然重新加载和重定向到pgno=2
我该怎么解决呢?
我已经解决了,多亏了@无往不利
这就是功能,

function Next2() {
      let params = new URLSearchParams(location.search);
      // get the value of pgno
      let pgno = +params.get('pgno');
      // check if pgno is less than or equal to 12
      if (pgno <= 11) {
        // go to next page
        params.set('pgno', pgno + 1);
        location.search = params;
      }
    }

这是之前的函数

function Prev1() {
      let params = new URLSearchParams(location.search);
      // get the value of pgno
      let pgno = +params.get('pgno');
      // check if pgno is greater than 1
      if (pgno > 1) {
        // go to previous page
        params.set('pgno', pgno - 1);
        location.search = params;
      }
    }
9gm1akwq

9gm1akwq1#

使用URLSearchParams可以简化查询字符串的处理。

let params = new URLSearchParams(location.search);
// go to next page
params.set('pgno', +params.get('pgno') + 1);
location.search = params;

相关问题