¿Cómo superas la limitación de anidamiento de formularios html?

Sé que xhtml no admite etiquetas de formulario anidadas y ya he leído otras respuestas
here en stackoverflow con respecto a este tema, pero todavía no he encontrado una solución elegante para el problema.

Algunos dicen que no lo necesita y que no pueden pensar en un escenario en el que esto sería necesario. Bueno, personalmente no puedo pensar en un escenario en el que NO LO haya necesitado.

Veamos un ejemplo muy simple:

stá creando una aplicación de blog y tiene un formulario con algunos campos para crear una nueva publicación y una barra de herramientas con "acciones" como "Guardar", "Eliminar", "Cancelar".

<form   
 action="/post/dispatch/too_bad_the_action_url_is_in_the_form_tag_even_though_conceptually_every_submit_button_inside_it_may_need_to_post_to_a_diffent_distinct_url"  
method="post">  

    <input type="text" name="foo" /> <!-- several of those here -->  
    <div id="toolbar">
        <input type="submit" name="save" value="Save" />
        <input type="submit" name="delete" value="Delete" />
        <a href="/home/index">Cancel</a>
    </div>
</form>

Nuestro objetivo es escribir el formulario de una manera que no requiere javascript, simplemente el viejo formulario html y los botones de enviar.

Dado que la url de acción se define en la etiqueta Formulario y no en cada botón de envío individual, nuestra única opción es publicar en una url genérica y luego comenzar "if ... then ... else" para determinar el nombre del botón que fue enviado No es muy elegante, pero nuestra única opción, ya que no queremos confiar en JavaScript.

El único problema es que al presionar "Eliminar", se enviarán TODOS los campos del formulario en el servidor a pesar de que lo único que se necesita para esta acción es una entrada oculta con la identificación posterior. No es gran cosa en este pequeño ejemplo, pero tengo formularios con cientos (por así decirlo) de campos y pestañas en mis aplicaciones LOB que (debido a los requisitos) tienen que enviar todo de una vez y, en cualquier caso, esto parece muy ineficiente y un desperdicio. Si se admitiera la anidación de formularios, al menos podría ajustar el botón de envío "Eliminar" dentro de su propio formulario con solo el campo post-id.

Puede decir "Simplemente implemente" Eliminar "como un enlace en lugar de enviar". Esto sería incorrecto en muchos niveles, pero lo más importante es que las acciones de efectos secundarios como "Eliminar" aquí, nunca deberían ser una solicitud GET.

Así que mi pregunta (particularmente para aquellos que dicen que no han necesitado anidar) es ¿Qué haces? ¿Hay alguna solución elegante que me falta o la conclusión es realmente "¿Requiere JavaScript o envíe todo"?

Respuestas a la pregunta(16)

Su respuesta a la pregunta