我有http://localhost/?val=1
当我点击某个链接时,该链接是否可以将查询变量附加到当前字符串,例如:
<a href="&var2=2">Link</a>
所以当我click
时,网址就是:
http://localhost/?val=1&var2=2
但是当我点击链接时,它会删除第一个查询字符串,看起来像
http://localhost/&var2=2
普通的HTML是否可以实现这一点?
答案 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#=#'。