Retirer l'attribut name=submit du bouton de validation principal.
Ticket #145 (closed) : retirer l'attribut name=submit du bouton de validation principal. C'est un nom réservé par jquery, cela empêche de valider le formulaire en JS avec submit(), et par capillarité ça bloque refuser_traiter_formulaire_ajax(). Au passage on ajoute un role=button comme recommandé par nicod_ dans spip/#4604
J'ai testé avec le formulaire suivant :
- avec et sans étape
- avec et sans refuser_traiter_formulaire_ajax()
<?php
function formulaires_etapes_saisies_dist() {
$saisies = array(
'options' => array(
'etapes_activer' => true,
),
array(
'saisie' => 'fieldset',
'options' => array(
'nom' => 'infos',
'label' => 'Vos informations',
),
'saisies' => array(
array(
'saisie' => 'input',
'options' => array(
'nom' => 'prenom',
'label' => 'Prénom',
)
),
array(
'saisie' => 'input',
'options' => array(
'nom' => 'nom',
'label' => 'Nom',
)
),
),
),
array(
'saisie' => 'fieldset',
'options' => array(
'nom' => 'coordonnees',
'label' => 'Vos coordonnées',
),
'saisies' => array(
array(
'saisie' => 'input',
'options' => array(
'nom' => 'adresse',
'label' => 'Adresse'
)
),
array(
'saisie' => 'input',
'options' => array(
'nom' => 'ville',
'label' => 'Ville'
)
),
),
),
);
return $saisies;
}
function formulaires_etapes_traiter_dist() {
refuser_traiter_formulaire_ajax();
$texte = implode('<br>', [_request('prenom'),_request('nom'),_request('adresse'),_request('ville')]);
return [
'editable' => false,
'message_ok' => "C’est fini !<br>Les données saisies :<br>$texte",
];
}