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

Développement Web en Java Discussion :

Supprimer une ligne d'un tableau à travers un bouton qui se trouve dans une alerte


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 115
    Par défaut Supprimer une ligne d'un tableau à travers un bouton qui se trouve dans une alerte
    Bonsoir bon voici mon problème je veux que quand je clic sur un bouton supprimer qui se trouve dans un tableau un message de confirmation s'affiche jusqu'à là tout va bien le message de confirmation s'affiche maintenant je veux que quand je clic sur le bouton supprimer qui se trouve dans le message de confirmation la ligne selectionner se supprime le problème c'est que je sais trés bien comment supprimer une ligne sans message de confirmation il suffit de faire :

    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
     
     
     
     <%while(re.next()){%> 
           <tr>
          <th scope="row"><%=re.getObject(2)%></th>
          <td><%=re.getObject(3)%></td>
          <td><%=re.getObject(4)%></td>
          <td><%=re.getObject(5)%></td>
          <td><%=re.getObject(6)%></td>
          <td><a href="Gestion_parking?d=<%=re.getObject(2)%>" class="btn btn-warning btn-lg" data-toggle="modal" data-target="#monModal" ><i class="fas fa-pen"></i></a> <a href="#" class="btn btn-danger btn-lg" data-toggle="modal" data-target="#modalsuppression"><i class="fas fa-trash-alt"></i></a></td>
          </tr>
     
     
          <%}%>

    Maintenant le problème c'est que mon bouton de suppression qui se trouve dans le modal (message de confirmation) je ne peux pas lui appliqué cette methode car je peux pas faire le while pour récupérer la valeur du <%=re.getObject(2)%> voici le code de mon bouton :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
     
    <div class="modal fade" id="modalsuppression">
     
                          <div class="modal-dialog modal-lg">
     
                              <div class="modal-content">
                                  <div class="modal-header">
     
                                       <h4 class="modal-title">Confirmation de suppression du local</h4>
                                      <button type="button" class="close" data-dismiss="modal">x</button>
     
     
     
                                  </div>
     
                                  <div class="modal-body">
     
                                      <p>Vous les vous vraiment supprimer ce modal ?</p>
     
                                  </div>
                                  <div class="modal-footer">
     
                                      <form method="POST" action='Gestion_des_locaux'>
     
     
                                          <input type="submit" value="supprimer" name="action"  class="btn btn-danger btn-lg" style="margin-right: 550px;" onclick="removeRow(this);"/>
     
                                      </form>
     
                                      <button type="button" data-dismiss="modal" class="btn btn-info btn-lg">Fermer</button>
     
                                  </div>
                              </div>
                          </div>
                      </div>
    et voici le code de ma servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
     else if("supprimer".equals(action)){
                   PreparedStatement st3=c.prepareStatement("delete from local where nom_local=?");
                   st3.setString(1, nomlocal);
                   int resdelete=st3.executeUpdate();
                   if(resdelete>0){
                       request.setAttribute("msg2", "Le local a été supprimer avec succés !");
                   }
                   else {
                       request.setAttribute("msg2", "Le local n'a pas été supprimé !");
                   }
               }

    voici quelque images de mon application pour que vous compreniez mieux :

    Nom : dev.PNG
Affichages : 2728
Taille : 55,2 Ko


    et voici le message de confirmation :

    Nom : dev 1.PNG
Affichages : 2516
Taille : 11,7 Ko


    en résumé je veux que quand je clic sur le bouton supprimer qui se trouve dans le message de confirmation la ligne selectionné au part avant se supprime.

    Et merci d'avance pour votre aide !

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu peux stocker les identifiants de tes lignes de données dans un attribut "data" : ainsi, lors de la validation, tu parcours les tr, récupères les id par l'attribut data et tu peux passer cette liste d'identifiant à l'uri de la servlet de suppression...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 115
    Par défaut
    salut joel merci pour ta réponse mais tu peux m'expliquer avec du code stp ? car j'ai compris ce que tu veux dire mais je sais pas comment le faire avec du code

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Tu as cherché un petit peu ? Les attributs "data" permettent de mettre une info sur un tag html.

    Bon, toi tu utilises nom_local pour identifier tes lignes, je ne sais pas trop ce que c'est, donc je te donne un code avec ça, mais normalement ça devrait être avec un id. C'est pour ça que dans mon exemple j'utilise data-rowid.

    A supposer que l'id de tes données se trouvent dans la colonne 1 du résultat de ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td><a href="Gestion_parking?d=<%=re.getObject(2)%>" class="btn btn-warning btn-lg" data-toggle="modal" data-target="#monModal" ><i class="fas fa-pen"></i></a> <a href="#" class="btn btn-danger btn-lg" data-toggle="modal" data-target="#modalsuppression"  data-rowid="<%=re.getObject(2)%>"><i class="fas fa-trash-alt"></i></a></td>
          </tr>
    Ensuite, dans ton script de bouton (enfin dans ta fonction JavaScript removeRow() que je devine mais dont je n'ai pas le code), il ne reste qu'à lire l'attribut data-rowid pur l'utiliser en paramètre de ta requête, par exemple en JQuery.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var rowId = $(this).data('rowid');

    ou en pur Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var rowId = this.dataset.rowid
    Pour le reste comme je sais pas ce que fait removeRow() (un post ajax ? jquery ? XMLHttpRequest ?), je ne peux en dire plus, à part que tu vas passer rowId en paramètre de la requête à la servlet.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 115
    Par défaut
    Bonsoir joel,

    j'ai compris ce que tu voulais dire, pour nom_local c'est tout simplement le nom du local qui sera supprimé, mais comme tu as dis c'est mieux de faire l'id du coup voici mon nouveau code :

    <a href="#" class="btn btn-danger btn-lg" data-toggle="modal" data-target="#modalsuppression" data-rowid="<%=re.getObject(1)%>" onclick="removerow(this);"><i class="fas fa-trash-alt"></i></a>
    et voici le code javascript :

    function removeRow(rowid){


    var rowId = $(this).data('rowid');
    document.all("table1").deleteRow(rowId);

    }


    et pour ma servlet voici le code :


    else if("supprimer".equals(action)){


    PreparedStatement st3=c.prepareStatement("delete from local where id=?");


    st3.setInt(1,??????);
    int resdelete=st3.executeUpdate();
    if(resdelete>0){
    request.setAttribute("msg2", "Le local a été supprimer avec succés !");
    }
    else {
    request.setAttribute("msg2", "Le local n'a pas été supprimé !");
    }
    }


    le problème ici c'est que je ne sais pas quoi mettre pour récupéré l'id ( l'id est auto-increment dans la bd) normalement c'est la valeur de data-rowid que je dois mettre dans
    st3.setInt(1,(valeur data-rowid);
    non ? le problème c'est que je ne sais pas comment récupéré cette valeur est la mettre dans ma servlet. Désolé si mes questions son bêtes mais je suis toujours un débutant malheureusement.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Dans ta fonction JavaScript, tu invoques bien ta servlet ? En ajax (j'ai déjà posé la question) ? Enfin, tu pourrais le faire par form aussi, mais dans ce cas, tu vas recharger ta page, donc ça ne sert à rien de supprimer tes lignes dans le dom, elles seront naturellement plus là au rechargement.

    Quoiqu'il en soit, donc, tu invoques la servlet (par son uri, en post) et donc tu dois passer le paramètre qui va te permettre de supprimer l'enregistrement correspondant dans la table de la base de données (ce sera le paramètre que tu passeras à st3.setInt(1,??????);), en le récupérant dans l'instance de HttpServletRequest.

    Comment tu gères la variable action dans ton code de servlet ? C'est un paramètre non ? Ou alors tu as plusieurs uri différentes, une par action ? Si c'est un paramètre, passé en application/x-www-form-urlencoded, et bien tu peux passer le rowid exactement de la même manière.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

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

Discussions similaires

  1. [XL-2013] Supprimer les lignes d'un tableau avec une macro
    Par Patafoin dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/07/2015, 14h08
  2. Lancer une Activity à l'aide d'un bouton qui se trouve dans un FragmentActivity
    Par FunckyWarrior dans le forum Composants graphiques
    Réponses: 13
    Dernier message: 30/07/2013, 12h51
  3. supprimer des lignes d'un tableau HTML
    Par spax dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 24/09/2008, 16h19
  4. Supprimer la ligne d'un tableau dynamiquement
    Par brycegrr dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/03/2008, 23h34
  5. Supprimer les lignes d'un tableau
    Par The eye dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/07/2007, 15h38

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