我网站上的表单在 Safari/Chrome 中无法正常运行。当用户提交表单时,它会打开一个新选项卡,但我希望重新加载原始页面(带有表单的页面)。它适用于 IE、Opera 和 Firefox。
代码:
<form action="/search.php" method="post" onsubmit="location.reload(true)" target="_blank" name="myform">
我尝试了其他 JavaScript 函数,例如:
- window.location.reload();
- 文档.location.reload();
- window.location.replace('http://www.websiteurl.com');
- window.location.href='http://www.websiteurl.com';
- 以及这些的其他变体。
我想也许是 onsubmit="" 不起作用,但是当我尝试 onsubmit="alert('test')" 时,它在 Safari/Chrome 中都工作得很好。
另外,在表单发布到的 search.php 页面上,如果用户使用 url 直接进入页面,而不提交表单,我将其设置为 body 标记将加载为:
<body onload="window.location.replace("http://www.websiteurl.com")>
适用于所有浏览器,包括 Safari/Chrome。
这里发生了什么?!?!
Thanks!
因为它是适合您的解决方案:
Using setTimeout
有时通过将执行推迟很短的时间来作为一种黑客解决方案:http://jsfiddle.net/xzanQ/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)