Bonjour à vous !

Problème constaté sous Chrome.

Je possède un formulaire (méthode POST) ayant trois boutons de validation. Chaque bouton possède un attribut "name" qui me permet d'identifier dans le POST celui qui a été cliqué.

Seulement, chaque bouton possède également un attribut "onclick" ouvrant une boite de dialogue javascript (function confirm()) et lorsque cette boite est validée, le formulaire est alors soumis mais problème : je ne trouve plus alors le nom de mon bouton dans mon POST...

<form id="validation" action="index.php" method="post">
	<input type="submit" id="valide" name="valide" value=" Valider " onclick="return confirmStatut('valide');" />
	<input type="submit" id="refuse" name="refuse" value=" Refuser " onclick="return confirmStatut('refuse');" />
	<input type="submit" id="annule" name="annule" value=" Annuler " onclick="return confirmStatut('annule');" />
</form>

function confirmStatut(action) {
	// Definition de la variable "message" en fonction du parametre "action"

	var is_confirmed = confirm(message);

	if(is_confirmed) document.forms['validation'].submit();
	else return false;
}


edit: problème résolu !
Modifié par Alphonse (23 Jul 2009 - 10:39)
Problème résolu !

J'ai remplacé if(is_confirmed) document.forms['validation'].submit(); par if(is_confirmed) return true;
Pourquoi ne pas utiliser des boutons radios? Ça ne serait pas plus simple (et plus accessible) que cet affreux bidouillage en javascript?

<form action="index.php" method="post">
<p><label for="valide">Valide</label><input name="validation" type="radio" value="valide" id="valide" /></p>
<p><label for="refuse">Refuse</label><input name="validation" type="radio" value="refuse" id="refuse" /></p>
<p><label for="annule">Annule</label><input name="validation" type="radio" value="annule" id="annule" /></p>
<p><input name="envoi" type="submit" value="Validation" id="envoi" /></p>
</form>

Modifié par Patidou (23 Jul 2009 - 10:41)
Je dois impérativement afficher une boite de dialogue demendant une dernière fois confirmation auprès de l'utilisateur.

Le fait d'utiliser des boutons radios ne change rien au comportement que doit avoir mon formulaire.
Je crois que le mieux c'est d'utiliser les boutons radios en interceptant le submit du formulaire et puis afficher la boîte dialogue avec la demande de confirmation. Sans javascript (une bonne partie des surfeurs n'ont pas js activé) l'utilisateur se retrouve sur une seconde page pour la confirmation. Smiley cligne