IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[VB.net] Bug submit sur champ de saisie


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut [Résolu][VB.net] Bug submit sur champ de saisie
    Bonjour,

    je viens de rencontrer un problème assez étrange en développant une appli en ASP.net/VB.net. En effet, il semble que les formulaires ne soient pas validés de la même façon en fonction du nombre de texbox :

    - sur un formulaire ne contenant qu'une seule texbox, lorsqu'on rentre du texte et qu'on appuie sur la touche Entrée, le submit est fait (exécution du code Page_Init et Page_Load dans le code behind), mais l'action associée au bouton de validation du formulaire
    Private Sub btnLancer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLancer.Click
    n'est pas exécutée. Par contre, lorsqu'on clique directement sur le bouton, l'action est belle est bien exécutée.

    - sur un formulaire contenant au moins 2 texbox, lorsqu'on rentre du texte et qu'on appuie sur la touche Entrée, le submit est fait ET l'action associée au bouton de validation du formulaire est exécuté. De la même manière que lorsqu'on clique directement sur le bouton.

    Il n'y a aucun validator sur la page, et le code est réduit à son strict minimum, la seule différence vient de l'ajout d'une texbox en plus. Dans les 2 cas, lorsqu'on met le focus sur un champ, c'est bien le bouton correspondant à btnLancer qui est mis en valeur par le navigateur. Je précise que je suis sous visual studio 2003 et que l'affichage des pages est fait sous IE6. Quelqu'un a-t-il déjà rencontré ce problème et trouvé une solution ?

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    est tu sûr que c'est le submit qui est fait lorque tu appuis sur Enter, c peut être un simple rechargement de la page
    Ton bouton a t il bien le focus à l'affichage

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    non effectivement, le submit ne semble pas être fait, et si on place un événement onclick sur le bouton de validation, il n'est pas non plus exécuté (sauf si on place plusieurs champs...). il s'agit effectivement simplement d'un rechargement de la page... Par contre, lorsque je saisis dans le champ, le bouton a bien le focus, exactement de la même manière que lorsqu'il y a deux champs de saisie. Mais pouquoi y a-t-il une différence de traitement entre 1 et plusieurs champs ????
    A ce stade, je suis obligé de rajouter un champ de saisie de taille 0 si je veux que mon formulaire fonctionne (si le champ est caché, ça ne marche pas non plus !). Etant donné que c'est un formulaire clef, l'utilisateur est souvent amené à y rentrer des infos, et il faut que ce soit rapide (touche entrée indispensable pour valider !). Mais cette solution n'est pas propre du tout, surtout pour les gens qui feront la maintenance derrière... donc si qqun voit une solution.... ça me dépannerait grandement !

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    montre moi le codebebind que tu as fait pour plusieurs champs de saisie
    et je devrais pouvoir t'aider

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 91
    Points
    91
    Par défaut
    salut, tu peux essayer comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script language ="javascript">
    function Touche()
    {
    if (window.event.keyCode == 13){
      document.getElementById("BT_Valider").focus();
      }
    }
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body Onkeydown="Touche()">
    pour l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="BT_Valider" title="Valider" type="button" value="button" runat="server"  /><br />

  6. #6
    Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Super le petit script ! Fonctionne impec et c'est beaucoup plus propre ! Vous aviez raison, même si le bouton était mis en avant lorsqu'on entrait sur le champ de saisie, il ne devait quand même pas avoir le focus lorsqu'un seul champ est présent... allez comprendre pourquoi...
    MERCI !!!

  7. #7
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par addicts
    Super le petit script ! Fonctionne impec et c'est beaucoup plus propre ! Vous aviez raison, même si le bouton était mis en avant lorsqu'on entrait sur le champ de saisie, il ne devait quand même pas avoir le focus lorsqu'un seul champ est présent... allez comprendre pourquoi...
    MERCI !!!
    Essayes pas de comprendre mais il me semble avoir trouver une astuce à une ceraine époque en générant dynamiquement mes contrôles, le premier élément créé recevait systématiquement le focus (ne me demande pas pourquoi j'en sais rien )

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Je relance le topic car un point reste obscur pour moi sur un sujet quasi-similaire.

    Cas 1 : J'ai deux (ou plus) input text, pas de input submit. Lorsque que je tape "entrée" dans l'une ou l'autre des cases, le formulaire n'est pas soumis.
    Cas2 : J'ai un seul input text, pas de input submit. Lorsque je tape entrée dans la case, le formulaire est soumis (les éventuelles actions onsubmit sont déclenchées).

    Je ne comprend pas et c'est bien embêtant ! Le but est que quelquesoit le nombre de champs sur la page, s'il n'y a pas de bouton submit, pas de soumission du formulaire !

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Pour info, je contourne pour l'instant le problème en rajoutant un champ "caché" ( le input hidden ne suffit pas...) :

    <input type="text" name="machinTruc" value="plouc" style="display:none;" disabled>

    A ce moment là, le formulaire ne se soumets effectivement pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD12] Condition sur champ de saisie
    Par franck82 dans le forum WinDev
    Réponses: 5
    Dernier message: 01/04/2009, 11h52
  2. Focus sur champ de saisie sans JS
    Par parkerlewis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 29/11/2007, 14h11
  3. [Mail] problème sur champs de saisie
    Par FraK dans le forum Langage
    Réponses: 5
    Dernier message: 12/03/2007, 12h04
  4. [vb.net][LDAP]Problème sur champs non renseignés NULL
    Par JFLESUEUR dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/12/2006, 16h02
  5. tabulation sur champs de saisie
    Par xClyde dans le forum Flash
    Réponses: 2
    Dernier message: 25/09/2003, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo