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:38
LeSteph33 Messages postés 1 Date d'inscription lundi 5 mars 2007 Statut Membre Derniè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!

 

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
3 oct. 2006 à 13:05
Bonjour,

Met tes champs dans des Cyril - MVS - MCP
3
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:24
Merci! Ca fonctionne! Bien vu!

En ce qui concerne le submit interdit tant que l'un des champs n'a pas de focus?? Pas d'idées?

Merci encore!

 
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
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 :-)

<hr />Cyril - MVS - MCP
0
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 à 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?


 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
3 oct. 2006 à 15:51
Est-ce vraiment important ?

Sinon en utilisant http://atlas.asp.net/atlastoolkit/TextBoxWatermark/TextBoxWatermark.aspx + un RequiredFieldValidator ca devrait faire l'affaire ...

sinon va falloir passer par du JavaScript mais c'est vraiment s'mebeter pour finalement pas grand chose.

<hr />Cyril - MVS - MCP
0
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 à 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...

Merci encore!

 
0
LeSteph33 Messages postés 1 Date d'inscription lundi 5 mars 2007 Statut Membre Derniè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.

Une idée ?



Steph
Intermittent du dévelopemment
0
Rejoignez-nous