繁体   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