[英]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.