簡體   English   中英

使用Javascript創建並轉到url

[英]Create and go to url with Javascript

我希望能夠基於某些屬性生成URL,然后轉到javascript中的新URL。

這是我到目前為止:

triggerNumber = document.findcontrol(txtTrigNo).text;
hostAddress= top.location.host.toString();      
url = "http://" + hostAddress "/" + triggerNumber

如何導航到新URL?

只需嘗試:

window.location = url;

但在嘗試這樣做之前,您必須確保地址“http://”+ hostAddress“/”+ triggerNumber的頁面存在。 例如,將有效的triggerNumbers放入數組中並檢查它是否存在。 所以:

//Not sure if at the end it should be .text or .value or .value()
triggerNumber = document.findcontrol(txtTrigNo).text;
var validTriggers = [123, 456, 789];
if (validTriggers.indexOf(parseInt(triggerNumber)) == -1) {
    alert("Invalid trigger number");
} else {
    hostAddress= top.location.host.toString();        
    url = "http://" + hostAddress "/" + triggerNumber;
}

最后,如果目標是服務器端頁面(php,asp等),地址通常如下所示:

"http://" + hostAddress "/trigger.php?id=" + triggerNumber;

但你最好使用form

編輯:正如Cerbrus所建議的那樣,使用javascript驗證這些值是一種在導航離開頁面之前告訴用戶他的錯誤的好方法。 但是為了確保將正確的數據發送到服務器,在服務器端代碼中進行驗證也很重要。

在該示例中,在無效觸發號的情況下,用戶可能最終看到404錯誤; 但是對於敏感信息,可能會發生更糟糕

你需要的是:

document.location.href = url;

url變量中有URL后。

獲取input元素的值有:

var triggerNumber = document.getElementById("txtTrigNo").value;

這將獲取服務器的主機名和端口,並將元素的值連接到末尾,然后轉到生成的URL。

var triggerNumber = document.getElementById("txtTrigNo").value();
var url = "http://"+window.location.host+"/"+triggerNumber;
window.location = url;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM