DefaultButton dynamique pour une form ASP.NET 2.0 [Résolu]

Signaler
Messages postés
48
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
9 décembre 2008
-
Messages postés
1
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 mars 2007
-
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

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonjour,

Met tes champs dans des Cyril - MVS - MCP
Messages postés
48
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
9 décembre 2008
2
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!

 
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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
Messages postés
48
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
9 décembre 2008
2
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?


 
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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
Messages postés
48
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
9 décembre 2008
2
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!

 
Messages postés
1
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 mars 2007

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