我正在尝试在新窗口中提交表单,提交后,我正在使用新网址重新加载当前窗口。以下是我的代码。
<form action="http://www.example.com/submit/" method="get" name="myform" id="myform" target="_blank">
<div>
<div>Your Name:</div>
<div>
<input type="text" name="name" />
</div>
<div>
<input type="image" src="http://www.example.com/submit_image.png" />
</div>
</div>
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#myform').submit(function(){
window.location.href = 'http://www.google.com';
});
});
</script>
这在Firefox和IE中运行良好,但在谷歌浏览器中没有。 chrome中的问题是,它在新窗口中提交表单,但它不会使用新URL重新加载当前窗口。
有人可以为此建议解决方案吗?我的想法是,在新窗口中提交此表单并使用不同的URL重新加载当前窗口。
答案 0 :(得分:2)
请尝试使用此代码,可能对您有所帮助,
window.location.href = 'http://www.google.com';
替换为此代码
setTimeout(function(){document.location.href = "google.com";},500);
答案 1 :(得分:0)
可能是你想添加
target='_blank'
这应该是这样的
<form action="http://www.example.com/submit/" method="get" name="myform" id="myform" target="_blank" >
<div>
<div>Your Name:</div>
<div>
<input type="text" name="name" />
</div>
<div>
<input type="image" src="http://www.example.com/submit_image.png" />
</div>
</div>
</form>
要重新加载当前页面,请使用location.reload();
<script type="text/javascript">
$(document).ready(function(){
$('#myform').submit(function(){
location.reload(); // window.location.href = 'http://www.google.com';
});
});
</script>