HTML将变量附加到查询字符串

时间:2015-01-13 22:39:07

标签: javascript php jquery html

我有http://localhost/?val=1

当我点击某个链接时,该链接是否可以将查询变量附加到当前字符串,例如:

<a href="&var2=2">Link</a> 

所以当我click时,网址就是:

http://localhost/?val=1&var2=2 

但是当我点击链接时,它会删除第一个查询字符串,看起来像

http://localhost/&var2=2

普通的HTML是否可以实现这一点?

2 个答案:

答案 0 :(得分:1)

你不能只使用html,但你可以使用js或php:

使用JS

<a onclick="window.location+=((window.location.href.indexOf('?')+1)?'':'?')+'&var2=2'">Link</a>

使用Php

<a href="<?php echo basename($_SERVER['PHP_SELF'])."?".$_SERVER['QUERY_STRING']."&var2=2" ?>">Link</a>

注意1 :确保当前链接中没有新变量,或者它是同一个变量的循环

通知2 :这不是一种专业的方式,但如果您需要快速的话,它可以工作。

答案 1 :(得分:0)

基本上,您希望通过JavaScript获取当前网址:

var existingUrl = window.location.href; // http://localhost/?val=1

然后使用以下方法附加任何适用的查询字符串:

window.location.href = existingUrl + '&var2=2';

或其他一些类似的代码。看一下这个post about Query Parameters

注意:OnClick事件必须存在一个链接,该事件调用具有上述代码的函数才能使其正常工作。


现在显然这不是非常有用的信息,所以你想要用JavaScript或Server代码(通过使用NodeJS,PHP或其他一些服务器端语言)来做一些工作。将这些变量名称及其值向下传递,以便按钮可以执行您希望它执行的操作。

您必须有一些逻辑来确保查询参数正确放入URL中。 I.E.如果只有一个查询参数,它将看起来像'?var1 = 1',如果它是任何后续参数,它将看起来像'&amp; var#=#'。