1

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

<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 中运行良好,但在 Google Chrome 中却不行。chrome 中的问题是,它在新窗口中提交表单,但不会使用新 url 重新加载当前窗口。

任何人都可以为此提出解决方案吗?我的想法是,在新窗口中提交此表单并使用不同的 url 重新加载当前窗口。

4

2 回答 2

2

请尝试此代码,可能对您有所帮助,

window.location.href = 'http://www.google.com';

用此代码替换

setTimeout(function(){document.location.href = "google.com";},500);
于 2013-08-05T10:03:16.683 回答
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>
于 2013-08-05T09:56:36.893 回答