Skip to content

Retirer l'attribut name=submit du bouton de validation principal.

tcharlss a demandé de fusionner gh-0536ee7e/146/unknown/refs/pull/146/head vers master

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",
	];
}

Rapports de requête de fusion