No sé si lo que ocurre es parte de los estándares o no. Pero cuando abro un popup mediante window.open se envía automáticamente el formulario y eso que he bloqueado su envío mediante javascript. Este es el código que uso para evitar que el form se envíe al pulsar cualquier botón (sé que es un estándar de la w3c, pero particualmente a mí me parece una idea estúpida, siempre me causa problemas en Firefox)
Código:
No se preocupen por la variable nav, la recogo como una variable global mediante una función, me sirve para definir si el navegador es Internet Explorer o no. Si no es I.E. me da cero.window.onload = function() { if (!nav) { var frms = document.getElementsByTagName("form"); for (var b = 0; b < frms.length; b ++) { frms[b].onsubmit = function(e) { if (e.explicitOriginalTarget.tagName == "BUTTON") return false; } } } }
Bueno, esto funciona muy bien, en cualquier página; no se envía el form al oprimir un botón (uso "<button ..." no "<input type='button' ..."). Pero bueno, ocurre que cuando uso uno de esos button para abrir un popup, solo si uso la linea windo.open(..... se envía el formulario. Alguién podría decirme si eso es un estándar o no, y al margen de eso, como podría evitalo?
Gracias de antemano.