El requisito 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í, el formulario es requiere para tener 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. Realmente debe establecer action=""
que es HTML4 perfectamente válido, 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).
Nota: No confíe en w3schools en absoluto. No son una fuente confiable. – kapa
Sin embargo, en este caso, w3schools es correcto en las especificaciones HTML 4 y HTML 5. En HTML 4, lo enumeran según sea necesario (aunque la mayoría de los navegadores aún funcionan sin él) y en html 5 la lista ya no es necesaria: http://www.w3schools.com/html5/att_form_action.asp – swannee
Si es relevante, puede hacer que su envío de formulario se realice en un iframe: http://stackoverflow.com/a/26380651/1695680 De esta manera, no se rompe el comportamiento de entrada de su formulario y tampoco se recarga la página. – ThorSummoner