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 :

Comment empêcher le submit d'un Form ?


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut Comment empêcher le submit d'un Form ?
    Bonjour à tous.
    Je vais essayer de vous exposer le soucis que je rencontre.

    J'ai sur mon aspx les éléments suivants:
    -->ListBox A
    -->ListBox B
    -->Bouton C
    -->ListBox D Cachée
    -->Bouton E

    Lorsque j'appuie sur mon bouton C, j'appelle une fonction de mon code behind et D se remplit en fonction de ce que j'ai sélection et ensuite devient visible.

    Lorsque j'appuie sur le bouton E, j'appelle une fonction de mon code behind qui affiche un repeater en fonction des sélections A B et D.

    Sur chaque clique de bouton j'ai mis une fonction javascript.
    Par exemple sur C, je vérifie que au moins un élément a été sélectionné pour remplir D.
    Et sur E, je vérifie que au moins un élément a été sélectionnée dans A et B. (Une sélection dans D est optionnelle).

    Alors voilà mon problème. Je n'arrive pas à annuler mon submit lorsque par exemple rien n'est sélectionné. J'ai bien mon alert javascript qui apparait pour dire: Vous devez sélectionnez....! Mais ensuite mon formulaire se soumet.
    Je retourne bien false dans mes fonctions javascript, mais cela ne fonctionne pas. Le return false fonctionne sur le OnSubmit du formulaire...

    Alors question, comment empêcher la soumission du formulaire sur le onclick d'un boutton?

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    tu as du oublier de mettre un return false après l'appel à l'alert.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Non j'ai bien un return false après l'alert.
    Le return false fonction sur l'évènement onSubmit et non sur l'évènement onclick.
    Si on veut ne pas soumettre le formulaire sur l'évènement onclick, il faut écrire le code suivant dans le codebehind:

    monbouton.onclientclick="ma_fonction_js();return;"
    En effet dans ce cas le form ne se soumettra pas.

    Mais ce n'est pas ce que je souhaite puisque je veux qu'il se soumette dans le cas où on a sélectionné quelque chose.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    dans ce cas tu testes dans ton javascript si ca n'est pas bon tu mets return.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 169
    Points : 80
    Points
    80
    Par défaut
    Alors voici la solution pour ceux à qui ça intéresse!

    Alors dans le cas de contrôle javascript sur le onclick d'un bouton, ce même bouton appelant du code behind:

    Il ne faut pas faire:

    monbouton.onclientclick="ma_fonction_js();";

    mais

    monbouton.onclientclick="return (ma_fonction_js())";

    Et dans ce cas sur le onclick du bouton si la fonction renvoie false le formulaire ne sera pas soumis et si elle renvoie true il sera soumis.

    Voilà!

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

Discussions similaires

  1. comment réinitialiser les champs apres submit
    Par ouldfella dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2012, 10h50
  2. Réponses: 2
    Dernier message: 29/09/2009, 17h21
  3. Comment recharger les images à chaque submit ?
    Par jejerome dans le forum Langage
    Réponses: 8
    Dernier message: 30/04/2006, 11h41
  4. pb de submit d'un form sous IE et Opera
    Par the.chojin dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 30/08/2005, 14h51

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