Estoy buscando la forma más ordenada de crear un formulario HTML que no tenga un botón de envío. Eso en sí mismo es bastante fácil, pero también necesito evitar que el formulario se recargue cuando se hacen cosas similares a un envío (por ejemplo, presionar Enteren un campo de texto).
javascript
html
forms
Matt Roberts
fuente
fuente
Respuestas:
Agregue un controlador onsubmit al formulario (ya sea a través de js simple o jquery $ (). Submit (fn)) y devuelva falso a menos que se cumplan sus condiciones específicas.
A menos que no desee que el formulario se envíe nunca, en cuyo caso, ¿por qué no omitir el atributo 'acción' en el elemento del formulario?
fuente
action
atributo no es un formulario, de acuerdo con los estándares, y de hecho provocará una recarga de página en algunos navegadores. He descubierto queaction="javascript:void(0);"
funciona bien.Querrá incluirlo
action="javascript:void(0);"
en su formulario para evitar recargas de página y mantener el estándar HTML.fuente
Simplemente agregue este evento a su campo de texto. Evitará un envío al presionar Enter, y puede agregar un botón de envío o llamar a form.submit () según sea necesario:
Por ejemplo:
fuente
Cuando presiona enter en un formulario, el comportamiento natural del formulario es ser enviado, para detener este comportamiento que no es natural, debe evitar que se envíe (comportamiento predeterminado), con jquery:
fuente
una idea:
y
fuente
Dos formas de resolver:
fuente
textarea
los mensajes de correo electrónico, y posiblemente seleccionar el autocompletado o los menús desplegables, y el móvil podría ser otra fuente de problemas.La primera respuesta es la mejor solución:
Más específico con jquery:
Escribir extensiones de Chrome es un ejemplo de dónde puede tener un formulario para la entrada del usuario, pero no desea que se envíe. Si usa action = "javascript: void (0);", el código probablemente funcionará, pero terminará con este problema donde obtendrá un error sobre la ejecución de Javascript en línea.
Si omite la acción por completo, el formulario se volverá a cargar, lo que tampoco es deseado en algunos casos al escribir una extensión de Chrome. O si tuvieras una página web con algún tipo de calculadora incrustada, donde el usuario proporcionaría alguna entrada y haría clic en "Calcular" o algo así.
fuente