2013-08-05 6 views
1

Я пытаюсь отправить форму в новом окне и после отправки, я перезагружаю текущее окно новым URL-адресом. Ниже мой код.Отправить форму в новом окне и перезагрузить текущее окно новым 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-адресом.

+0

У тебя есть ошибки .. любые у? Вы проверили консоль браузера. ?? –

+0

Да, я проверил это, но в консоли не было ошибок. –

ответ

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> 
+0

Да, я добавил, что из-за этой формы атрибута отправляется в новом окне. Также код в событии jquery submit работает нормально. Он перезагружает текущее окно. Но он не работает в Google Chrome. –

+0

, затем очистите кеш, а затем попробуйте. – Ravi

+0

Я думаю, что он работает, проверьте здесь http://jsfiddle.net/dgKcn/ – Ravi

2

Пожалуйста, попробуйте этот код, могут быть вам полезны,

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

заменить этот код

setTimeout(function(){document.location.href = "google.com";},500); 
+0

Откроется новое окно. Но я хочу, чтобы www.xyz.com в текущем окне. –

+1

Используйте этот код setTimeout (function() {document.location.href = "http://www.google.com"}, 500); –

+0

Отлично, он работает. –