簡體   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