【问题标题】:Pass values on Page 1 to Page 2 with href and Javascript?使用 href 和 Javascript 将第 1 页上的值传递到第 2 页?
【发布时间】:2021-03-24 02:30:15
【问题描述】:

在此项目中,用户单击指向站点的电子邮件链接:

example.com/video1?Id=12345&Email=email@email.com

我在页面上有代码来获取 Id 和 Email 的用户特定值...

<script>
const params = new URLSearchParams(document.location.search);
const Id1 = params.get("Id");
const Email1 = params.get("Email");
</script>

我希望用户点击链接...

因此,Id1 和 Email1 的值被传递到 example.com/video2...

我写了这行...

&lt;a href="example.com/video2/?Id=Id1&amp;Email=Email1"/a&gt;这没用...

然后写

&lt;a href="example.com/video2/?Id="+Id1+"&amp;Email="Email1 /a&gt;

这没有用......

谁能帮我理解要添加的正确代码,以便我可以将参数传递到网站的下一页?

谢谢!

【问题讨论】:

    标签: javascript html href url-parameters


    【解决方案1】:

    你可以试试调用window.location

    喜欢这个

    <a href="#" onclick="RedirectURL();return false;"> My link </a>
    <script>
      const params = new URLSearchParams(document.location.search);
      const Id1 = params.get("Id");
      const Email1 = params.get("Email");
    
      function RedirectURL() {
        window.location = createDynamicURL();
      }
    
      function createDynamicURL() {
        //The variable to be returned
        var URL = "example.com/video1";
        URL += "?id=" + Id1;
        URL += "&Email=" + Email1
        return URL;
      }
    </script>
    

    【讨论】:

      【解决方案2】:

      这应该可以解决问题:

      <!DOCTYPE html>
      <html>
      <body>
      <a href="#" onclick="openUrl()">Open</a>
      <script>
          //const params = new URLSearchParams(document.location.search);
          //const Id1 = params.get("Id");
          //const Email1 = params.get("Email");
          const Id1 ="id1234";
          const Email1 = "someone@email.com";
      
          function openUrl() {
            //window.location="http://example.com/video2/?Id=" + Id1 + "&Email=" + Email1;
            // more readable
            window.location=`http://example.com/video2/?Id=${Id1}&Email=${Email1}`;
          }
      </script>
      </body>
      </html>
      

      如果您想打开一个新页面,请使用window.open()

      【讨论】:

        【解决方案3】:

        JavaScript 代码:

        const takeMeThere =()=>window.location.assign(`http://example.com/video2/?Id=${Id1}&Email=${Email1}`);
        

        HTML:

        <a href="#" onclick="takeMeThere()">Click Here</a>
        

        如果您想在新窗口中打开它,只需将target="_blank" 设置为a 标记即可。

        用 jquery 解决:

        先给那个a标签设置一个id,我把它设置成"me",那么这就是代码

        $(document).ready(()=>{
           $("#me").attr("href", `http://example.com/video2/?Id=${Id1}&Email=${Email1}`)
        })
        

        HTML:

        将 jquery 链接到您的页面

        &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"&gt;&lt;/script&gt;

        那就用这个

        <a id="me" href="#">Click me</a>
        

        【讨论】:

        • 采用了这种方法。非常感激!一个问题...链接现在通过参数传递到下一页...但是如果我右键单击以在新选项卡/窗口中打开,则当前页面会加载...有没有办法不发生这种情况?
        • 是的,你可以用 jquery 解决这个问题,我正在用 jquery 代码编辑我的答案
        • 谢谢!非常有帮助和感激所做的。 1 次跟进...所以我部分简化了问题...实际上,页面上有多个指向该目的地的链接... id 效果很好,但我现在正在创建 "me1","me2"," me3"..... 有没有办法进行 id 设置,但可以在整个页面中多次使用,而不必每次都创建唯一的 id?
        • 这样那样什么都可以做我们需要的,想法不是预先固定的,它是听故事后产生的。把你的项目的一个小故事放在这里,如果我有任何想法,我会给你发送一个实时聊天链接来一起解决它
        • 如果上述答案解决了您第一次提到的问题,也请将该答案标记为解决方案(在答案开始的地方打勾)
        猜你喜欢
        • 1970-01-01
        • 2018-08-23
        • 1970-01-01
        • 2014-03-22
        • 1970-01-01
        • 2013-02-26
        • 1970-01-01
        • 2020-05-13
        • 1970-01-01
        相关资源
        最近更新 更多