将地址栏变量中的当前URL传递到同一页面中的链接

时间:2016-05-27 20:42:10

标签: javascript jquery html url

我想要实现的目标是:

  1. 从浏览器栏中获取当前网址,该地址将如下所示http://example.com/test/index.html?&dv1=1023faf2ee37cbbfa441eca0e1a36c
  2. 在网址1023faf2ee37cbbfa441eca0e1a364
  3. 的末尾获取长ID号
  4. 将其动态传递到同一页http://example.org/?1023faf2ee37cbbfa441eca0e1a364中的另一个链接,将其作为变量传递给此代码onclick="nextQuestion(6, 'http://www.example/iclk/redirect.php?apxcode=042004&id=eT9HmN9XD3xMgT8nKUj0KRjM‌​IWuXeTj0KN2-0N&dv1={id}');",重新整理最后一部分id
  5. 我需要使用 jquery javascript NO PHP

    执行此操作

2 个答案:

答案 0 :(得分:2)

我完全重写了这个答案。我想我现在明白你的问题了。

一般来说,内联事件处理程序是个坏主意。你应该分开结构和行为。您可以通过绑定javascript中的处理程序而不是标记来轻松完成此操作。

要做到这一点,你只需要

  1. 从按钮中移除onclick,添加标识符(question

    <a class="btn rollover question">click me</a>
    
  2. 然后你可以做

    $('.question').click(function() {
        var id = getQueryVariable("dv1");
        nextQuestion(6, 'http://www.example/iclk/redirect.php?apxcode=042004&id=eT9HmN9XD3xMgT8nKUj0KRjM‌​IWuXeTj0KN2-0N&dv1=' + id);
    });
    
  3. 您可能需要查看fiddle中的完整示例。它不起作用,因为小提琴在iframe中运行,但只要你将它复制到你的项目中,它就会起作用。

    哦,最后一件事:你可能想用一个库从url获取参数。最安全,最简单的最可靠的做事方式是使用库。在您的情况下,您可能想尝试simple-query-string

答案 1 :(得分:0)

我使用以下函数从链接中获取我需要的部分

function getQueryVariable(variable)
{
       var query = window.location.search.substring(1);
       var vars = query.split("&");
       for (var i=0;i<vars.length;i++) {
               var pair = vars[i].split("=");
               if(pair[0] == variable){return pair[1];}
       }
       return(false);
}


var foo = getQueryVariable("dv1");