У меня есть такая кнопка:
<button class="buttons" onclick="window.location='page_test.php?VAR=1&VAR2=2'">BUTTON 1</button>
<button class="buttons" onclick="window.location='page_test.php?VAR=1&VAR2=2'">BUTTON 2</button>
Как я могу использовать код javascript, чтобы добавить &VAR3=3
в onclick, чтобы иметь:
<button class="buttons" onclick="window.location='page_test.php?VAR=1&VAR2=2&VAR3=3'">BUTTON 1</button>
<button class="buttons" onclick="window.location='page_test.php?VAR=1&VAR2=2&VAR3=3'">BUTTON 2</button>
2 ответа
Предполагая, что текущий URL-адрес, по которому пользователь переходит, - "page_test.php?VAR=1&VAR2=2
", тогда этот код добавит &VAR3=3
к URL-адресу:
HTML:
<button class="buttons" onclick="insertParam('VAR3', '3')">BUTTON 1</button>
JS:
function insertParam(key, value)
{
key = encodeURI(key);
value = encodeURI(value);
var kvp = document.location.search.substr(1).split('&');
var i=kvp.length;
var x;
while(i--)
{
x = kvp[i].split('=');
if (x[0]==key)
{
x[1] = value;
kvp[i] = x.join('=');
break;
}
}
if(i<0)
{
kvp[kvp.length] = [key,value].join('=');
}
document.location.search = kvp.join('&');
}
HTML:
Как и Макс Вуазар, предполагая, что текущий URL, по которому пользователь переходит, - "page_test.php?VAR=1&VAR2=2"
, я попытаюсь сделать это немного проще.
<button class="buttons" onclick="insertParam('VAR3', '3')">BUTTON 1</button>
JS:
function insertParam(key, value)
{
key = encodeURI(key);
value = encodeURI(value);
return window.location.href + `&${ key }=${ value }`
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.