Изменение URL
Допустим находясь на странице 6530.htm?page= и при клике на ссылку мне необходимо добавить параметру page значение 2.
Как я это делаю. В <head></head> function addParamURL(id) { var sGetSearch = window.location.search; alert(sGetSearch); //проверка var sId = [2, 5, 11, 14 ,17]; for(var i = 0; i < sId.length; i++) { if (sId[i] != undefined) { if (sId[i] = id) { var saddURL = sGetSearch + id; alert(saddURL); //проверка } } } } Ссылку формирую так: <a href="#" onclick="addParamURL(2);">2</a><br> Но URL при клике не менятся на 6530.htm?page=2 Где ошибка? Сильно не пинайте - новичок ;) |
Цитата:
Цитата:
<a href="6530.htm?page=2">2</a> |
Цитата:
Цитата:
Параметр динамический. Я к сожалению не знаю что туда подставить, т.е. всю эту кашу заварил, как если бы я в ASP написал так: <a href="6530.htm?<%=Request.QueryString%>"> - тут еще параметр, но вставить его не могу, т.к. рекурсия. Не подскажите как такое реализовать, только в JS? Спасибо. |
<a id="link" href="6530.htm?page=2">2</a> <script> document.getElementById('link').href = '6530.htm?page=' + Math.random(); </script> |
Цитата:
А если у меня массив значений: 2, 5, 11, 14 ,17 ? |
И что?
|
Хорошо, сделал вот так:
function addParamURL(id) { var sGetSearch = location.search; alert(sGetSearch); //Проверка var sGetURL = sGetSearch + id; var sAddURL = document.getElementById('link'+ id).href = sGetURL; alert(sAddURL); //проверка } В HTML ссылки такого вида: <a id="link2" href="#" onclick="addParamURL(2);">2</a><br> <a id="link5" href="#" onclick="addParamURL(5);">5</a><br> <a id="link11" href="#" onclick="addParamURL(11);">11</a><br> <a id="link14" href="#" onclick="addParamURL(14);">14</a><br> <a id="link17" href="#" onclick="addParamURL(17);">17</a><br> Проблема тут следующая. Скажем если щелкнуть на первую ссылку, а затем на вторую параметр уже принимает вид page=25 Как этого избежать? |
var sGetSearch = location.search.replace(/\d+$/,''); |
Зачем вам вообще onclick, если можно вместо addParamURL(2) написать нормальный урл?
|
Часовой пояс GMT +3, время: 22:13. |