v.massip
Messages postés48Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 9 décembre 2008
-
3 oct. 2006 à 12:38
LeSteph33
Messages postés1Date d'inscriptionlundi 5 mars 2007StatutMembreDernière intervention 5 mars 2007
-
5 mars 2007 à 16:40
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 (sinon, il n'y a pas de bouton par défaut et l'appuie sur la touche entrée ne déclenche rien). 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'appui 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!
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 3 oct. 2006 à 14:47
Force le focus sur un de tes controles au chargement de la page (a l'aide de la methode SetFocus()) et si tu as un RequiredFieldValidator dessus ca devrait faire l'affaire :-)
v.massip
Messages postés48Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 9 décembre 20082 3 oct. 2006 à 15:44
Effectivement! Merci!
Maintenant, petit exercice... J'utilise sur l'une de mes page l'un des controles ci-dessus (association textbox et button).
Le textbox a une valeur par défaut à "Entrez votre mail ici". Une petite fonction javascript me permet d'effacer ce texte lorsque l'utilisateur clique sur le textbox.
Il m'est donc impossible de forcer le focus sur ce controle lors du chargement de la page (qui ne contient que ce controle et le bouton associé).
D'où le problème qui revient...
Comment pourrais-je donc intercepter l'appui sur la touche entrée seulement si le textbox n'a pas le focus? Une autre routine javascript?
Vous n’avez pas trouvé la réponse que vous recherchez ?
v.massip
Messages postés48Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 9 décembre 20082 3 oct. 2006 à 16:03
Effectivement, ce n'est pas très important pour le fonctionnement de l'application.
Il s'agissait seulement de rendre le tout homogène et sans comportements bizarres pour l'utilisateur qui clique un peu partout.
Enfin bon, le principal problème étant réglé et le second n'étant que du confort, je vais laisser l'appli tel que...
LeSteph33
Messages postés1Date d'inscriptionlundi 5 mars 2007StatutMembreDernière intervention 5 mars 2007 5 mars 2007 à 16:40
Bonjour,
J'ai presque le même problème que v.massip à la différence prés que ce n'est pas dans un formulaire classique, mais dans un detailview (VB.NET 2.0). Je ne peux donc pas associer d'actions à un bouton, vu que ce sont les contrôles internes au detailview qui sont utilisés.
Je souhaiterai en fait associer la touche entrée à la validation du detailview en cours d'édition.