Передача параметра из адресной строки?

Сейчас с помощью кода передаю параметр так
if (location.href.indexOf ('?r=12345') > 0) {document.getElementById ('go_anketa').href = '/anketa/?r=12345';
document.getElementById ('go_anketa2').href = '/anketa/2/?r=12345';
document.getElementById ('go_anketa3').href = '/anketa/3/?r=12345';}


Подскажите, как оптимизировать код?
Сейчас для каждого id (12345) приходится прописывать отдельную строчку в js.
Хотелось бы свести это в одну строку, чтобы скрипт сам "отсекал" id и передавал дальше в скрипт.
  • Вопрос задан
  • 295 просмотров
Решения вопроса 1
Отличный пример из стаковерфлоу: stackoverflow.com/questions/901115/how-can-i-get-q...
function getParameterByName(name, url) {
    if (!url) {
      url = window.location.href;
    }
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}


Использование:
var id= getParameterByName('r');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
отсечь id:

window.location.pathname

еще можно посмотреть в сторону функций splice, join (разбор строки на элементы массива)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы