[英]Pass a url return from JS function into href
我还是JS和HTML5的新手
所以我有一个URL,我存储在var中
var Base_URL = "https://www.mywebsite.com/info?username";
链接到有权访问可以包含空格的用户名值的数据库。
我将此网址解析为一个函数
function removeSpaceURL(url) {
var update = url.split(' ').join('%20');
return update;
}
这不是我所知道的最好方法,但足以达到目的。
卡住的地方是我想将更新返回到href引用中,以便单击它。
<p><a href="" onclick="removeSpaceURL(BASE_URL);return false;" >Survey</a></p>
<script>
var Base_URL = "https://www.mywebsite.com/info?username";
function removeSpaceURL(url) {
var update = url.split(' ').join('%20');
return update;}
</script>
当我在JSfiddle上尝试时,出现以下错误:
{“错误”:“请使用POST请求”}
正确的做法是首先将Base_URL
设置为格式正确的URL,如果用户名部分中没有空格,则不是这样。
但是假设您坚持使用它,那么在元素上设置属性非常简单:
<p><a id="target-link" href="">Survey</a></p>
<script>
var Base_URL = "https://www.mywebsite.com/info?username";
document.getElementById("target-link").setAttribute(
"href", encodeURI(Base_URL)
);
</script>
请注意,使用emiliopedrollo 建议的encodeURI
,而不是简单地替换空格。 话虽如此,如果URI的部分已经被正确编码,只有用户名的问题, encodeURI
可能会增加一倍编码的东西。 因此,如果您只想替换空格:
document.getElementById("target-link").setAttribute(
"href", Base_URL.replace(/ /g, "%20");
);
还要注意, return false
从onclick
一个上a
元素会阻止跟着链接,所以我离开了onclick
完全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.