Detener el envio de un formulario con javascript

Detener el envio de un formulario con javascript

evitar el envío de formularios html

Aquí hay un manejador jQuery que puede ser usado para detener los envíos de entrada, y también para detener la tecla de retroceso -> atrás. Los pares (keyCode: selectorString) en el objeto «keyStop» se utilizan para coincidir con los nodos que no deberían disparar su acción por defecto.
Recuerda que la web debe ser un lugar accesible, y esto está rompiendo las expectativas de los usuarios de teclado. Dicho esto, en mi caso la aplicación web en la que estoy trabajando no le gusta el botón de retroceso de todos modos, por lo que deshabilitar su atajo de teclado está bien. La discusión sobre «debería entrar -> enviar» es importante, pero no está relacionada con la pregunta real que se ha hecho.
Si quieres deshabilitar «Enter» para otras acciones también, puedes añadir console.log(e); para tus propósitos de prueba, y pulsar F12 en chrome, ir a la pestaña «console» y pulsar «backspace» en la página y mirar dentro de ella para ver qué valores se devuelven, entonces puedes apuntar a todos esos parámetros para mejorar aún más el código de arriba para adaptarse a tus necesidades para «e.target.nodeName», «e.target.type» y muchos más…
Siempre lo he hecho con un controlador de pulsación de teclas como el anterior, pero hoy he dado con una solución más sencilla. La tecla «enter» simplemente activa el primer botón de envío no desactivado en el formulario, por lo que en realidad todo lo que se requiere es interceptar ese botón tratando de enviar:

formulario de envío javascript

El jQuery stop form submit es el evento realizado por el extremo del usuario una vez que el formulario es enviado a la UI; los datos se están validando o autenticando desde los servidores del back-end; mientras queremos detener este evento durante ese tiempo, utilizamos el método llamado event.preventDefault() el método detiene la acción por defecto del elemento y devuelve el valor del método mientras el evento está detenido. el tiempo de ejecución también es normal, y muestra el resultado en la UI. También intentamos declarar el nombre del formulario como inválido; también se detiene la ejecución para navegar por las páginas.
Cada método tiene su propia sintaxis predefinida en la biblioteca jQuery para utilizarlo en las páginas web. Por lo tanto, las páginas web de navegación son más importantes para las aplicaciones basadas en la web así; con la ayuda de la etiqueta <form>, validamos los datos de entrada del usuario, y va a otra página. Mientras que la ejecución de las formas, el botón de envío es necesario para navegar por las páginas basadas en las condiciones.
Los códigos anteriores son la sintaxis básica para el formulario html con selectores jQuery para detener el envío del formulario como evento al backend. Con la ayuda del método event.preventDefault() el evento debe detener la ejecución del formulario.

cómo evitar que el formulario se reinicie al enviarlo

Tengo un formulario simple que envía texto a mi tabla SQL. El problema es que después de que el usuario envía el texto, puede actualizar la página y los datos se presentan de nuevo sin llenar el formulario de nuevo. Podría redirigir al usuario a otra página después de enviar el texto, pero quiero que los usuarios permanezcan en la misma página.
Realmente deberías usar un patrón Post Redirect Get para manejar esto, pero si de alguna manera has terminado en una posición en la que PRG no es viable (por ejemplo, el propio formulario está en un include, impidiendo las redirecciones) puedes hacer hash de algunos de los parámetros de la petición para hacer una cadena basada en el contenido y luego comprobar que no lo has enviado ya.
Usar el patrón Post/Redirect/Get de la respuesta de Keverw es una buena idea. Sin embargo, no puedes permanecer en tu página (y creo que esto era lo que pedías?) Además, a veces puede fallar:
En tu página POST simplemente validas la entrada del usuario pero no actúas sobre ella, en su lugar la copias en un array SESSION. A continuación, redirige de nuevo a la página principal de envío. Tu página principal de envío comienza comprobando si el array de SESSION que estás utilizando existe, y si es así lo copias en un array local y lo desatas. A partir de ahí puedes actuar sobre él.

cómo evitar que el formulario se envíe al hacer clic en un botón

Lo siento si el título es confuso. Básicamente tengo un formulario modular y cuando se hace clic en enviar la página se actualiza (que está bien), pero envía al usuario a la parte superior de la página – y desde mi forma es en la parte inferior, esto es un dolor. ¿Hay alguna manera de hacer que la página se actualice automáticamente al formulario?
He intentado utilizar el plugin js ScrolltoTop en mi archivo base.html.twig pero parece que no reconoce el nombre de la clase que he utilizado para el botón de envío en el archivo modular.md del formulario. Si tienes curiosidad, publicaré el código más abajo:
Entonces, probablemente no sea necesario desplazarse a ninguna parte, pero para mí el mensaje de envío viene al final de la página, así que me desplazo hasta el mensaje de envío para que el usuario no se lo pierda. Básicamente es el mismo código del sitio de aprendizaje con un scrollto añadido al final.
Si quieres que el formulario se envíe, y luego se desplaza hacia abajo a ese «formulario-resultado» div (donde tendría algún tipo de mensaje de confirmación), entonces usted necesita todo lo de la etiqueta de mi post original. Su respuesta cortó la parte que se desplaza hacia abajo y ahora sólo tiene el bit de desplazamiento a la izquierda por lo que su conseguir un poco confuso. También mi post original dejó fuera de los bits de bloques de código como los que son tema específico.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad