tablas method formularios formulario form etiqueta estructura ejemplos ejemplo atributo forms html5 html html-validation

forms - method - ¿Es realmente necesaria la acción en los formularios?



formulario html ejemplo (3)

El requerimiento es solo por estándares . Es perfectamente posible hacer lo que quiera en una página y no seguir los estándares. Las cosas pueden no mostrarse o funcionar correctamente si lo haces, pero es probable que lo hagan. El objetivo es seguirlos, y la idea es que si los sigues, tu página siempre funcionará; no tienes que preocuparte por nada.

Sí, se requiere que el formulario tenga un atributo de acción en HTML4. Si no está configurado, es probable que el navegador use el mismo método que proporcionarle una cadena vacía. Debería establecer action="" que es perfectamente válido HTML4, sigue los estándares y logra el mismo resultado exacto.

En HTML5, puede especificar una acción en el botón de enviar. Si no hay uno, usa la acción del formulario y, si no está establecido, se establece de manera predeterminada en la cadena vacía (tenga en cuenta que no puede establecer explícitamente la acción en una cadena vacía en HTML5).

Aquí dice que es obligatorio

http://www.w3schools.com/tags/att_form_action.asp

pero veo que los formularios se envían incluso si no especifico un atributo de acción, y el formulario se envía a la página actual que es exactamente lo que quiero.


Parece que la especificación HTML4 lo requiere . Sospecho que algunos navegadores hacen lo que quieren para "facilitar las cosas". Sin embargo, no recomiendo confiar en él. Dado que tiene un comportamiento indefinido, un navegador podría decidir razonablemente no hacer nada cuando el formulario se envíe sin action .

Puede obtener el comportamiento que desea mientras sigue la especificación dejando la acción en blanco (ya que es relativa, en blanco significa la página actual):

<form action="" ...>

Como lo menciona bazmegakapa, la especificación HTML5 no parece requerir el atributo de action :

Los atributos de acción y contenido de formateo, si se especifican , deben tener un valor que sea una URL válida no vacía potencialmente rodeada de espacios. [Énfasis agregado]

Curiosamente, esto significa que en HTML5, <form action=""> no es válido, pero no está claro si se necesita un formulario sin acción para funcionar (enviar a la página actual).


Técnicamente es una violación de la especificación de HTML 4, pero todos los navegadores publicarán de vuelta al autor de la respuesta si no se especifica ninguna acción. Estoy de acuerdo con que no es una buena idea confiar en él, pero funciona.

EDITAR: Como se me ha indicado, esta pregunta está etiquetada como HTML 5: en HTML 5 enumeran el atributo de acción como ya no es necesario: w3schools.com/html5/att_form_action.asp que está en de acuerdo con las especificaciones HTML 5.