Comportement bizarre de lity lorsque plusieurs submits à un formulaire.

Je te confirme qu’il doit exister une solution bien plus simple que toutes ces circonvolutions.

La première chose à faire est de s’assurer que ta modale est bien déclenchée en mode ajax et non iframe (inspecte l’attribut data-box-type de ton lien, et si la détection automatique est erronée, force la manuellement depuis le squelette).

Ensuite, comme tu l’as déjà fait, ton squelette cible doit contenir un formulaire inclus dans un conteneur .ajax

<div class="ajax">
#FORMULAIRE_EDITER_ARTICLE_PUBLIC{#ENV{id_article,new},#ENV{id_rubrique}} 
</div>

Et là, c’est déjà sensé être suffisant.

L’attribut data-box-ajaxreload-on-close doit cibler un élément à l’extérieur de la popin, qui sera rechargé après la fermeture de cette dernière.

Donc pour un comportement optimal, la seule chose qui manque est de déclencher une fermeture de la modale après un retour sans erreur du POST du formulaire :

Quelque chose comme ceci à la fin de la partie _traiter :

if ($res['message_ok'] && defined('_AJAX')) {
	$res['message_ok'] .= "\n" . '<script>$.modalboxclose();</script>' . "\n";
}
return $res;