如何编码显示为超链接的URL的查询参数。
此类超链接的示例:
<a href="http://site/page.html?param1=value1¶m2=value2">MyPage</a>
我希望只使用html功能来执行此操作。
我可以使用 http get 方法使用html表单部分完成此操作,但之后我无法看到超链接,而是必须使用提交按钮(我不想使用):
<form method="get" action="http://site/page.html"> MyPage
<input type="hidden" name="param1" value="value1"/>
<input type="hidden" name="param2" value="value2"/>
<input type="submit" />
</form>
请注意,查询参数的值是动态呈现的,因此可以包含特殊字符,必须在通过http get方法将它们发送到Web服务器之前对其进行编码。
这可以仅使用HTML来完成而无需在服务器端编码中引入代码吗?
答案 0 :(得分:0)
您可以通过调用encodeURIComponent()
使用Javascript来完成此操作。
但是,您应该在服务器上执行此操作,以支持禁用Javascript的浏览器。
答案 1 :(得分:0)
这可以仅使用HTML来完成而无需在服务器端编码中引入代码吗?
没有。链接采用URI。没有办法判断%
是否表示编码字符的开头或文字%
。
如果要动态构建链接,那么您已经涉及编程语言。在任何语言中添加编码路由都是微不足道的。
答案 2 :(得分:0)
您可以将按钮设置为看起来像超链接:
input.LinkButton {
border: none;
padding: 0;
background: transparent;
color: blue;
text-decoration: underline;
display: inline;
cursor: pointer;
}
您可能还需要:hover
和:active
个样式。