Estoy haciendo la validación de formularios usando jquery validate plugin. Funciona muy bien, sin embargo, si DOM no está completamente cargado y haces clic en el botón Enviar, el documento ignora la validación y va a una página especificada en el atributo de "acción". ¿Es posible evitar que el botón de enviar se envíe hasta que se cargue DOM?¿Es posible evitar que el botón de enviar se envíe hasta que DOM esté cargado?
Respuesta
Si genera el botón de enviar, así:
<input type="submit" id="submit" value="submit" disabled="disabled"/>
entonces usted puede poner esto en su $(document).ready(
justo después de que el plugin de validación se ha inicializado:
$("#submit").prop("disabled", false);
Demostración: http://jsfiddle.net/nZVrs/
Se podría emitir sus formas inicialmente con algo como:
<form ... onsubmit="return false;">
....
</form>
Luego, en JavaScript, cambiar los onsubmit
manipuladores de las formas que desee "activar" cuando esté listo.
¿Cómo podría alguien enviar un formulario antes de que se active el DOMContentLoaded
? ¿Sólo curioso?
Si fuera window.onload
de lo que estamos hablando, lo entendería porque una página puede requerir cierto tiempo para cargarse por completo (especialmente si el contenido no estaba previamente en caché) pero DOMContentLoaded
?
En la mayoría de los casos se dispara tan rápido después de que la página comienza a renderizar que es casi imposible ser tan rápido y enviar el formulario.
- 1. ¿Cómo esperar hasta que WebBrowser esté completamente cargado en VB.NET?
- 2. Evitar que comparevalidator muestre un error hasta que se haga clic en el botón
- 3. ¿Es posible obtener objetos jquery de una cadena html que no esté en el DOM?
- 4. jQuery, ocultar el contenido hasta que esté cargada
- 5. Ejecutar una tarea después de que WebView esté completamente cargado
- 6. ¿Cómo evitar que un formulario con método GET envíe el valor del botón de envío?
- 7. ¿Cómo espero hasta que una aplicación de consola esté inactiva?
- 8. Cómo esperar hasta que esté conectado el depurador .NET remoto
- 9. ¿Es posible que ConcurrentHashMap esté en "punto muerto"?
- 10. Cómo evitar antes de que se llame al hacer clic en el botón Enviar
- 11. bloquear todo el botón de enviar antes de que la página esté completamente representada
- 12. ¿Es posible evitar que un método se muestre en intellisense?
- 13. Botón de desactivación de jQuery (NO Enviar) hasta que el campo valide + Complemento de validación
- 14. ¿Es posible forzar que una función no esté en línea?
- 15. ¿Es posible hacer que Cufon funcione con un botón?
- 16. jQuery (documento). Listo para que DOM esté listo
- 17. ¿Cómo puedo desactivar el botón de enviar hasta que se ingrese texto en el campo de entrada?
- 18. Pausando la ejecución de Javascript hasta que presione el botón
- 19. Android: ¿es posible que el hilo de fondo se bloquee hasta que el hilo de UI termine de funcionar?
- 20. ¿Cuál es un buen método para evitar que un usuario envíe un formulario dos veces?
- 21. ¿Es posible evitar que se guarde un archivo php que tenga un error de análisis?
- 22. Evitar que se descarte el teclado suave
- 23. Evite que se envíe spam a MediaWiki
- 24. ¿Es posible enviar eventos en objetos normales (no DOM)?
- 25. ¿Es posible mostrar un shell solo una vez que se hayan cargado todos los módulos?
- 26. window.onload parece activarse antes de que se cargue DOM (JavaScript)
- 27. campo de entrada deshabilitado hasta que se marque el botón de opción (HTML)
- 28. ¿Cómo se alinea el texto para que esté en el medio de un botón en Silverlight?
- 29. ¿Cómo se prueba que se desactive el botón Enviar después de hacer clic en capibara?
- 30. ¿Es posible escribir una función varargs que envíe su lista de argumentos a otra función varargs?
Esto es lo que habría hecho. – ninetwozero
Esta solución tiene el inconveniente de que su formulario no se puede utilizar con javascript. – Peter
También es posible enviar un formulario presionando ENTER en una entrada de texto, por lo que es probable que también deba deshabilitar todas las entradas en el formulario ... –