2015-04-23 3 views
-1

Я хочу зафиксировать URL-адрес ссылки onclick и поместить параметр URL в поле предупреждения. Например, нажав на ссылку users.php?user_id=200.Захват URL-адреса ссылки в поле оповещения

Как захватить параметр URL «user_id = 200»?

У меня есть этот сценарий, но по щелчку, появляется пустое предупреждение окно:

$(document).ready(function() { 
    $('.bluetext').on('click', function(event) { 
     var url = window.location.search.substring(1); 
     alert(url); 
    }); 
}); 
+0

Ваш код работает нормально. Только для примечания стороны. Поместите свой Javascript в нижнюю часть страницы. И вам не нужно писать все в '$ (document) .ready (...'. –

ответ

0
$(document).ready(function() { 
    $('.bluetext').on('click', function(event) { 
    var url = window.location.href.split("?"); 
    alert(url[1]); 
    }); 
}); 

Я расщепляющий URL на основе "?" Вопрос тег, который приводит к "URL" переменную как массив, имеющий два значения:

URL [0] = "users.php" гиперссылка [1] = "идентификатор_пользователя = 200"

А потом просто доступ к url ​​[1] надеется, что теперь это ясно

+0

его только можно захватить, когда я добавляю rel = "external" в ссылку. –

+0

Добавьте объяснения в свой ответ, пожалуйста. –

+0

Я разделяю URL-адрес на основе тега вопроса «?», Который приводит к переменной «url» в виде массива, имеющего два значения: url [0] = «users.php» url [1] = "user_id = 200" А затем просто доступ к URL-адресу [1] надеется, что теперь это ясно –

-1

Ваш скрипт работает нормально.

Если вы пытаетесь получить URL-адрес prameter которые являются переписан, например, http://stackoverflow.com/questions/29821832/capture-url-parameter-of-a-link-into-an-alert-box/29822617#29822617

Тогда конечно вы получите пустой Сообщ предупреждение. Это работает только с , но не переписано URL. например, ваш код будет работать только с этим типом URL. http://stackoverflow.com/questions.php?question_id=29821832 (just for exmaple)

Если вы пытаетесь получить значения переписана URL, то вы можете попробовать следующее,

var params = window.location.pathname.split('/').slice(1); // ["1", "my-event"] 
var first = params[0]; 
var second = params[1]; 
console.log(second) // will return "29821832". which is question id of this question. 

Но если вы хотите, чтобы получить значение, отличное от переписаны URL, то ваш код хорошо.

Если вы хотите получить значение определенной переменной, вы можете попробовать ниже.

Я использую это, чтобы получить значение любой переменной,

function getVarVal (key) { 
    return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1")); 
} 

Вызов этой функции в соответствии с вашими требованиями. например,

$('.bluetext').on('click', function(event) { 
    alert(getVarVal("user_id")); 
}); 
Смежные вопросы