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

JavaScript Discussion :

Validation avant supprression


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 71
    Points
    71
    Par défaut Validation avant supprression
    Bonjour à tous,

    Je développe une webapp en jsp, et voici mon probleme (déjà expliqué sur un topic dans ce forum mais finalement, ca fonctionne pas ...)

    J'ai un formulaire qui contient un champ et un bouton.

    Lorsque je clique sur le bouton, je dois avoir un pop-up me demandant confirmation de la suprression de l'enregistrement.

    Si oui, il doit placer une valeur dans le champ et recharger la page. Si non, il ne doit rien faire ...

    J'ai donc ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    function putDegreeToDelete(idDegree){
    document.forms[0].idDegree.value = idDegree;
    }
     
    function deleteDegree(){
    if (confirm('Are you sure  ?'))
    	{
     
    	return true;
    	}
    	else
    	{
    	alert("non je confirme pas");
    	return false;
    	}
     
    et 
     
    <FORM action="portalDegreesManagement.jsp" onSubmit="deleteDegree();" method="post">
    <input type="hidden" name="idDegree" size="2">
    <input onSubmit="putDegreeToDelete(<%= degree.getIdDegree() %>" value="delete" type="submit">
    </FORM>
    Quand je confirme la supression, j'ai aucun probleme. Il me supprime bien mon enregistrement. Par contre, quand je clique sur non, il soumet quand meme le formulaire ... Pourtant, je sais qu'il passe bien sur le else parce que j'ai bien l'alert "je confirme pas" ....

    Ou est mon erreur ????

    Merci d'avance pour vos réponses ...

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="return deleteDegree();"

  3. #3
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par Mr N.
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="return deleteDegree();"
    + dans le tag form et non sur le bouton

  4. #4
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 71
    Points
    71
    Par défaut
    Bon j'ai progressé, avec le return, ca fonctionne mieux quand je ne confirme pas la supression.

    Mais quand je confirme la suppression, ma fonction "putDegreeToDelete" que je place sur le onClick sur bouton est censé placer la valeur de l'id de l'neregistrement dans un champ du formulaire pour que le submit transmette l'info en session, pour qu eje puisse la traiter sur la page actualisé.

    Mais j'ai remarqué que lorsque je valide le submit, je passe pas par cette fonction ... il soumet direct le formulaire ...

    Comment faire donc pour placer la valeur (differente pour chaque enregistrement) dans le champ avant le submit du formulaire ????

    merci pour votre aide !

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par michaelbob
    Comment faire donc pour placer la valeur (differente pour chaque enregistrement) dans le champ avant le submit du formulaire ????
    Soit dans le onsubmit de ton formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onsubmit="putDegreeToDelete(<%= degree.getIdDegree() %>);return deleteDegree();"
    Ton erreur provenait peut-être de la parenthèse manquante dans ta première version du code

    Sinon, comme apparement ta page est une JSP, pourquoi ne pas remplir le champ hidden à la construction de la page?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="hidden" name="idDegree" value="<%= degree.getIdDegree() %>">
    Pas besoin de size pour un champ caché

    Sinon, tu as encore la possibilité de mettre la modification sur le onclick de ton bouton (ça devrait marcher) mais les deux solutions précédentes sont à mon avis bien meilleures.

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    dac avec Denis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
    function deleteDegree(){ 
    if (!confirm('Are you sure  ?') return false;
    }
    </script>
     
    <form id="f" action="portalDegreesManagement.jsp" onsubmit="return deleteDegree()" method="post"> 
    <p>
    <input type="hidden" name="idDegree" value="<%= valeur générée au chargement %>" /> 
    <input type="submit" value="delete" type="submit" />
    </p>
    </form>

  7. #7
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 162
    Points : 71
    Points
    71
    Par défaut
    Ce que vous faites n'est pas possible dans ma situation. Parce qu'en fait, j'ai une liste d'enregistrements tous contenu dans un seul formulaire. Du coup, j'ia plusieurs fois l'id de l'enregistrement que je dois supprimer. Comment donc savoir quel diplome devra etre effacé au chargement.

    En clair, au chargement de la page, la page jsp recupere la valeur du champ caché qui a été posté dans la session. Si rien n'a été posté, c'est qu'on est dans le cas ou on charge la page sans cliquer sur le bouton suppression.

    Si il y a eu quelque chose dans le champ caché, ca a été posté, donc on le recupère dans la session. Donc on sait quel enregistrement doit être supprimé, ce qui est fait au chargement de la page.

    je suis pas sur d'etre tres clair ...


    Sur ce, j'ai résolu mon probleme en faisant autrement... mon bouton "delete" au lieu d'etre de type "submit" est de type "button". Sur l'évenement "OnClick", on lance une fonction javascript qui place la valeur dans le champ caché et soumet le formulaire. Et hop !! 8)

    Merci pour votre aide !!!

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

Discussions similaires

  1. Valider avant fermeture
    Par GPZ{^_^} dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/02/2007, 18h38
  2. Réponses: 3
    Dernier message: 11/08/2006, 10h08
  3. valider avant de quitter
    Par stefano dans le forum Bases de données
    Réponses: 9
    Dernier message: 21/04/2006, 08h00
  4. Valider avant execution fonction
    Par jeff37 dans le forum ASP
    Réponses: 3
    Dernier message: 08/09/2004, 12h39

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