我希望能夠根據某些屬性生成一個URL,然後轉到JavaScript中的新URL。使用Javascript創建並轉到url
這是我到目前爲止有:
triggerNumber = document.findcontrol(txtTrigNo).text;
hostAddress= top.location.host.toString();
url = "http://" + hostAddress "/" + triggerNumber
如何瀏覽到新的網址是什麼?
我希望能夠根據某些屬性生成一個URL,然後轉到JavaScript中的新URL。使用Javascript創建並轉到url
這是我到目前爲止有:
triggerNumber = document.findcontrol(txtTrigNo).text;
hostAddress= top.location.host.toString();
url = "http://" + hostAddress "/" + triggerNumber
如何瀏覽到新的網址是什麼?
簡單的嘗試:
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。
要獲得輸入元素的值有:
var triggerNumber = document.getElementById("txtTrigNo").value;
這將讓服務器的主機名和端口,並連接所有的元素的值到結束,然後進入所產生的URL。
var triggerNumber = document.getElementById("txtTrigNo").value();
var url = "http://"+window.location.host+"/"+triggerNumber;
window.location = url;
對於它的價值,我建議首先驗證服務器端的觸發器號碼。 – Cerbrus 2012-12-27 10:28:39
@Cerbrus:謝謝。實際上,對於OP的具體問題,在發送數據之前沒有太多需要檢查的地方,因爲它只是地址級聯。目標頁面必須小心。無論如何,我添加了一些關於此的信息。 – Hossein 2012-12-29 12:34:43