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 では機能しません。クロムの問題は、新しいウィンドウでフォームを送信しますが、現在のウィンドウを新しい 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 に答える