parametros con javascript forms google-chrome safari onsubmit

javascript - con - safari/chrome onsubmit="location.reload(true)" no funciona



location reload con parametros (4)

Dado que fue la solución para usted:

El uso de setTimeout veces funciona como una solución hacky posponiendo la ejecución por muy poco tiempo: http://jsfiddle.net/xzanQ/ .

Un formulario en mi sitio web no funciona correctamente en Safari / Chrome. Cuando un usuario envía el formulario, abre una nueva pestaña, pero quiero que vuelva a cargarse la página original (página con el formulario). Funciona en IE, Opera y Firefox.

El código:

<form action="/search.php" method="post" onsubmit="location.reload(true)" target="_blank" name="myform">

Probé otras funciones de JavaScript como:

  • window.location.reload ();
  • document.location.reload ();
  • window.location.replace (''http://www.websiteurl.com'');
  • window.location.href = ''http: //www.websiteurl.com'';
  • Y otras variaciones de estos.

Pensé que tal vez era el onsubmit = "" no funcionaba, pero cuando probé onsubmit = "alert (''test'')" funcionó bien en Safari / Chrome.

Además, en la página search.php a la que se envía el formulario, si un usuario va directamente a la página usando la url y no envía el formulario, lo configuro para que la etiqueta corporal se cargue como:

<body onload="window.location.replace("http://www.websiteurl.com")>

que funciona en todos los navegadores que incluyen Safari / Chrome.

¡¿¡¿Que esta pasando aqui?!?!

¡Gracias!


Tu podrías intentar:

window.location.href=window.location.href


onsubmit se ejecuta antes de que se publique un formulario. Si ya se está descargando una página, es posible que el formulario ya no se envíe.

Pruebe algo como:

var myForm=document.getElementById(''myForm''); myForm.addEventListener(''submit'',function(event){ event.preventDefault(); this.submit();//Submit the form BEFORE reloading location.reload(true); },false);


Acabo de enfrentar un problema similar después de depurar durante horas descubrí que a; faltaba en mi declaración onsubmit ..

Cambiando:

onsubmit = "location.reload (true)"

A:

onsubmit = "location.reload (true);"

Se corrigió mi problema de safari en mac ...