繁体   English   中英

将JS函数的url返回值传递给href

[英]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 falseonclick一个上a元素会阻止跟着链接,所以我离开了onclick完全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM