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