为啥在Javascript里用window.location.href=‘a.html’语句不能实现网页跳转啊。浏览器还是显示原网页。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥在Javascript里用window.location.href=‘a.html’语句不能实现网页跳转啊。浏览器还是显示原网页。相关的知识,希望对你有一定的参考价值。
脚本是:
<script language="javascript1.2">
function isRegisterUserName(obj)
var value = obj.string.value; // 得到输入框中的值
var pattern = /^001|002|003$/; // 创建正则表达式对象
flag = pattern.test(value); // 测试匹配
if(flag==0)
alert("错误,请重新输入!");
return false;
window.location.href='index.html';
return true;
</script>
网页里的表单是:
<form name="form1" method="get" onSubmit="return isRegisterUserName(this)">
<input name="string" type="text">
<input type="submit" value="确定">
</form>
直接试着用window.location.href属性设置就可以实现自动跳转,但是为什么把它放在function里面就不行了呢?我想实现的是如果输入字符串正确(匹配)就跳转,否则就不跳转的功能
虽然跳转代码是在return true的前面,看起来应该是先执行跳转,但是浏览器都不是这样实现的,所以只能用return false阻止掉浏览器的默认动作。追问
牛啊,不过我测试了所有主流浏览器以后发现chrome/opera/firefox什么的都可以跳转了,只有用IE9的时候,还是不行,就像你说的,地址栏最后出现了?string=value,然后就停在本界面了,这是为什么呢?
追答IE9我试过,应该也可以的。你试的时候浏览器下面有没有黄色的提示说阻止了ActiveX或是Script,如果有的话选择允许执行。
参考技术A 在form里加个action不就可以了<form name="form1" method="get" onSubmit="return isRegisterUserName(this)" action="'index.html">
<input name="string" type="text">
<input type="submit" value="确定">
</form> 参考技术B 要这行代码前加上alert("flag");测试下有没有执行到这行。 参考技术C window.location.href='index.html';
改成:
window.location="index.html";
href不要。
Cocos Creator 获取当前URL取参数
利用Javascript获取当前页的URL,这个问题起来好像很复杂,如果第一次去想这个问题,很多人估计又在琢磨到底又是哪个神一般的Javascript函数。
其实不是,Javascript获取当前页的URL的函数就是我们经常用来重定向的window.location.href。
比如如下函数:
- <script>
- var url=window.location.href;
- var loc = url.substring(url.lastIndexOf(\'/\')+1, url.length);
- alert("url="+url+",loc="+loc);
- </script>
如果当前页面的url为http://localhost:6666/myphp/mobile/pc1.php,那么其运行结果如下:
上面的函数同时展示如何获取当前页名称的做法。
获取利用window.location.href的变量获取整个url之后,要哪一部分的地址,利用substring,indexof等字符串处理函数对获取到的url进行处理,截取你想要的部分。
平时利用window.location.href做重定向,就是改变整个浏览器的url,
如果后面没有赋值,这就成了获取当前值的语句。
与document.getElementById("xx").value一样,你能够修改,就能够获取了。
刷新当前页
window.location.href=window.location.href;
或者
window.location.href="当前URL",例如
window.location.href="http://www.hao123.com/indexnt.html";
PS:如果不考虑window.location.href,可以直接使用
window.location.reload();刷新
以上是关于为啥在Javascript里用window.location.href=‘a.html’语句不能实现网页跳转啊。浏览器还是显示原网页。的主要内容,如果未能解决你的问题,请参考以下文章
为啥在PROJECT2007里用挣值分析时BCWS,BCWP和ACWP没有将三个资源类别里的成本资源计入呢?
quartus里用原理图的方法进行仿真时,为啥输出比输入延迟了一个时钟周期,有啥解决的办法吗?