[RESOLU] bouton de modal avec nom différent

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] bouton de modal avec nom différent

Re: bouton de modal avec nom différent

par Quentino » 26 janv. 2021, 12:38

une solution plus simple qu'une modale :
https://stackoverflow.com/questions/651 ... dialog-box
Merci beaucoup ça marche =D> :D

Re: bouton de modal avec nom différent

par Quentino » 25 janv. 2021, 19:24

D'accord merci, je regarderais demain.

Merci beaucoup pour votre aide.

Re: bouton de modal avec nom différent

par Quentino » 25 janv. 2021, 19:23

D'accord merci, je regarderais demain.

Merci beaucoup pour votre aide.

Re: bouton de modal avec nom différent

par or 1 » 25 janv. 2021, 19:18

une solution plus simple qu'une modale :
https://stackoverflow.com/questions/651 ... dialog-box

Re: bouton de modal avec nom différent

par Quentino » 25 janv. 2021, 19:02

D'accord, donc je devrais plutôt envoyer des données avec input caché ?
Mais comment les récupérer et les traiter dans ma modale ?

Re: bouton de modal avec nom différent

par Ryle » 25 janv. 2021, 18:51

Salutations !

En fait, le problème c'est que tu as bien deux fenêtres modales distinctes, pour la validation et le remboursement, qui ont chacune un nom différent. Cependant avec ta boucle, tu vas créer autant de ligne que tu as de frais à gérer et chacune de ces lignes va ouvrir l'une ou l'autre de tes fenêtres modales, sans aucune différence avec la ligne qui précède ou celle qui la suit qui exécute l'appel de la même façon.

En l'état, il n'y a donc aucune façon une fois la fenêtre ouverte de savoir par quelle ligne est à l'origine de son ouverture. Selon la librairie que tu utilises pour gérer tes fenêtres modales, il faudrait voir comment il est possible de lui transmettre des paramètres. Tu pourras ainsi distinguer les appels des différentes lignes et adapter le traitement en conséquence pour qu'il concerne les éléments de la ligne en question :)

bouton de modal avec nom différent

par Quentino » 25 janv. 2021, 10:32

Bonjour,
je requiert votre aide aujourd'hui car je suis bloqué sur un problème que je n'arrive pas à résoudre depuis un moment. J'ai fais pas mal de recherche et je n'arrive pas à trouver.

Mon application permet de gérer des fiche de frais. Le comptable doit appuyer sur le bouton "valider" puis plus tard "rembourser". Lorsque l'on appui sur le bouton "valider" une modal s'ouvre pour être sur que le comptable veut valider la ligne.
Chaque bouton ont un nom différent MAIS je n'arrive pas a faire en sorte que les boutons de la modale valide la bonne ligne. POURQUOI???
J'appuis sur le bouton valider de la 3ème ligne, la modal s'ouvre mais c'est la première ligne qui se valide. Je suppose que le problème vient du fait que les boutons ont tous le même noms mais je n'arrive pas a changer la chose de la même façon que les boutons de base.
Je mets mon code ci-dessous pour plus de compréhension.

Code : Tout sélectionner

<?php require_once 'mesClasses/Cvisiteurs.php'; require_once 'includes/head.php'; require_once 'mesClasses/CligneFHFs.php'; require_once 'mesClasses/CficheFrais.php'; require_once 'includes/functions.php'; $ofraisForfaits = new CfraisForfaits(); $oFicheFraiss = new CficheFraiss(); $oLigneFHFs = new CligneFraisFHFs(); $oLigneFFs = new CligneFFs(); if(isset($_SESSION['mois'])){ ?> <div class="container"> <table class='table table-hover'> <thead> <tr class='bg-info'> <th>Etat de la fiche</th> <th>Identifiant du Visiteur</th> <th>Mois</th> <th>Nombre de justificatifs</th> <th>Total validé en fonction justificatifs</th> <th>Total des FF et FHF</th> <th>Validation des Frais et mise en paiement</th> <th>Frais remboursés</th> </tr> </thead> <tbody> <?php $ocollFicheFraisByMois = $oFicheFraiss -> getFFByMois($date); $ocollfraisForfaits = $ofraisForfaits ->getCollFraisForfait(); if($ocollFicheFraisByMois != null){ foreach ($ocollFicheFraisByMois as $LigneFF){ $nombtnV ='btnV'.$LigneFF->idVisiteur; $nombtnR ='btnR'.$LigneFF->idVisiteur; $nombtnVa; $nombtnRb; //var_dump($nombtnV); //var_dump($nombtnR) ?> <form id="formTableau" class="form-horizontal" role="form" method="POST"> <tr> <td><?=$LigneFF->idEtat?></td> <td><?=$LigneFF->idVisiteur?></td> <td><?=$LigneFF->mois?></td> <td><?= $LigneFF->nbJustificatifs != 0 ?'<input class="form-control" name="totalJustificatif" placeholder="Entrer justificatif validé" value="'.$LigneFF->nbJustificatifs.'" disabled required type="number" min="0" step="1">' : '<input class="form-control" name="totalJustificatif" placeholder="Entrer justificatif validé" required type="number" min="0" step="1">' ?></td> <td><?= $LigneFF->montantValide != 0 ?'<input class="form-control" name="totalMontant" placeholder="Entrer montant validé" value="'.$LigneFF->montantValide.'" disabled required type="number" min="0" step="1">' :'<input class="form-control" name="totalMontant" placeholder="Entrer montant validé" required type="number" min="0" step="1">'?></td> <td><?=$LigneSomme = $oLigneFHFs ->getTotalFHF ($LigneFF -> idVisiteur, $LigneFF -> mois) + $oLigneFFs ->getTotalFF($LigneFF -> idVisiteur, $LigneFF -> mois, $ocollfraisForfaits)?></td> <td><button type="submit" name="<?=$nombtnV?>" <?=$LigneFF->idEtat =='CR'?'class="btn btn-info"':'class="btn btn-danger" disabled'?> data-toggle="modal" data-target="#myModal1">Valider</button></td> <td><button type="submit" name="<?=$nombtnR?>" <?=$LigneFF->idEtat =='VA'?'class="btn btn-info"':'class="btn btn-danger" disabled'?> data-toggle="modal" data-target="#myModal2">Rembourser</button></td> </tr> <?php if(isset($_POST["$nombtnV"])) { if(isset($_POST["totalJustificatif"]) && isset($_POST["totalMontant"])) { //var_dump($nombtnV); $oLigneFHFs = new CligneFraisFHFs; try { $oFicheFraiss->Validation($LigneFF->idVisiteur, $LigneFF->mois, $_POST["totalJustificatif"], $_POST["totalMontant"]); } catch (Exception $ex) { $errorMsg = "Erreur lors de la validation dans la base.".$ex->getMessage()." Prévenir l'administrateur."; } } } if(isset($_POST["$nombtnR"])) { //var_dump($nombtnRb); $oLigneFHFs = new CligneFraisFHFs; try { $oFicheFraiss->Remboursement($LigneFF->idVisiteur, $LigneFF->mois); } catch (Exception $ex) { $errorMsg = "Erreur lors de la validation dans la base.".$ex->getMessage()." Prévenir l'administrateur."; } } ?> <!-- Modal valider --> <div class="modal fade" id="myModal1" role="dialog"> <div class="modal-dialog"> <!--Contenue du Modal--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title" style="color:#FF0000">Avertissement</h4> </div> <div class="modal-body"> <p>Voulez vous vraiment valider la fiche de frais ?</p> </div> <div class="modal-footer"> <button type="submit" name="btnVa" class="btn btn-info btn-lg">Passer la fiche à l'état "valider"</button> <button type="button" class="btn btn-danger" data-dismiss="modal">NON</button> </div> </div> </div> </div> <!--Fin Modal--> <!-- Modal rembourser --> <div class="modal fade" id="myModal2" role="dialog"> <div class="modal-dialog"> <!--Contenue du Modal--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title" style="color:#FF0000">Avertissement</h4> </div> <div class="modal-body"> <p>Voulez vous vraiment rembourser la fiche de frais ?</p> </div> <div class="modal-footer"> <button type="submit" name="btnRb" class="btn btn-info btn-lg">Passer la fiche à l'état "rembourser"</button> <button type="button" class="btn btn-danger" data-dismiss="modal">NON</button> </form> </div> </div> </div> </div> <!--Fin Modal--> <?php } } } ?> </tbody> </table>