DefaultButton dynamique pour une form ASP.NET 2.0

Résolu
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 - 3 oct. 2006 à 12:35
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 - 3 oct. 2006 à 14:31
Bonjour à tous!

Je vous explique mon problème :

J'ai sur un formulaire, 3 champs de saisie et 3 boutons.
Chaque champ correspond à l'un des boutons qui eux correspondent à des traitements distincts.

Ce que je souhaite faire est que lorsque l'utilisateur rentre des données dans le champ 1, s'il appuie sur la touche entrée, la validation et donc le submit du formulaire se fasse sur le bouton 1... De même pour le champ 2 et le bouton 2 ainsi que pour le champ 3 et le bouton 3.

Actuellement, lorsque l'utilisateur clique sur le formulaire (et donc "l'active"), le bouton par défaut est le bouton 1. Si ensuite, sans avoir cliqué sur l'un des champs de saisie, il appuie sur entrée, la validation du bouton 1 est lancée (et sans submit me semble-t-il).
De plus, lorsque l'utilisateur clique sur le champ 2 ou le champ 3, le bouton 1 reste le bouton par défaut.

Il existe une propriété de formulaire étant "defaultButton" et définissant le bouton par défaut du formulaire. Si celle-ci est vide, le bouton par défaut est le premier rencontré sur le formulaire.

Ma question est la suivante : Est-il possible de définir dynamiquement cette propriété "defaultButton"  en fonction de paramètres clients (focus d'un champ par exemple)?

Sinon, est-il possible de définir un bouton par défaut pour un champ donné? (Je suis sur le champ A, l'appuis sur la touche entrée déclenche le clic sur le bouton A).

Est-il également possible d'empêcher la validation et le submit d'une page par la touche entrée si l'utilisateur n'est pas sur un champ de saisie?
Je vous remercie d'avance pour vos réponses!

1 réponse

v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 2
3 oct. 2006 à 14:31
Solution partiellement trouvée!

Avec le framework 2.0, il suffit d'utiliser des contrôles asp:Panel :

   
   

   
   

   
   

Cette solution permet lorsque l'utilisateur clique sur le champ T2 par exemple de lancer la validation par le bouton B2 lors d'un appui sur la touche entrée.

En revanche, lorsque la personne ne sélectionne aucun champ mais clique quand même sur le formulaire (texte affiché par exemple), le bouton par défaut de la form s'active (premier bouton du formulaire). A ce moment là, si l'utilisateur appui sur entrée, l'action associée au bouton s'exécute.

QQ1 aurait-il une idée pour bloquer ce cas de figure?

Merci d'avance!
 
3
Rejoignez-nous