我有http://localhost/?val=1
当我单击链接时,是否有办法将此链接附加到当前字符串,例如:
<a href="&var2=2">Link</a>
所以当我click
它时,网址将是:
http://localhost/?val=1&var2=2
但是当我单击链接时,它会删除第一个查询字符串,看起来像
http://localhost/&var2=2
普通 HTML 可以这样的事情吗?
你不能只使用 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:这不是一种专业的方式,但如果您需要快速的东西,它可以工作。
基本上,您希望通过以下方式通过JavaScript获取当前URL:
var existingUrl = window.location.href; // http://localhost/?val=1
然后使用以下方法追加任何适用的查询字符串:
window.location.href = existingUrl + '&var2=2';
或其他一些类似的代码。看看这篇关于查询参数的文章。
注意:必须已经存在一个带有 OnClick 事件的链接,该事件调用包含上述代码的函数才能正常工作。
显然,这本身并不是非常有用的信息,所以你需要在JavaScript或服务器代码中做一些工作(通过使用NodeJS,PHP或其他一些服务器端语言)来传递这些变量名称及其值,以便按钮可以做你想要它做的事情。
不过,您必须有一些逻辑来确保查询参数正确放入 URL 中。 即,如果只有一个查询参数,它将看起来像'?var1=1',如果是任何后续参数,它将看起来像'&var#=#'。