在新窗口中提交表单并使用新网址重新加载当前窗口

时间:2013-08-05 09:54:33

标签: jquery forms new-window

我正在尝试在新窗口中提交表单,提交后,我正在使用新网址重新加载当前窗口。以下是我的代码。

<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重新加载当前窗口。

2 个答案:

答案 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>