fermer une fenêtre modale

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] fermer une fenêtre modale

    Bonjour,

    j'utilise une fenêtre modale dans mon développement en cours et je cherche à la refermer automatiquement après un traitement.Google est très fourni sur ce sujet, seulement je ne parviens pas à adapter ce que je peux lire. Il faut dire que je ne pense pas avoir saisi la difficulté.

    Je dispose d une vue qui lance la fenêtre modale (le code a été raccourci a l essentiel):
    views/categoriescco/tmpl/default.php
    Code:
    $link_ajout = JROUTE::_('index.php?option=com_categoriescco&controller=ajout&cat_id='.$this->id_parent[$i]);
    ?><a rel="{handler: 'iframe',size:{x:900,y:450}}" href='<?php echo $link_ajout; ?>' class='modal'><img src='new.png' /></a>
    le controller "ajout" fait un display:
    views/ajout/tmpl/default.php
    Code:
     <script language="javascript" type="text/javascript">
    function submitbutton(pressbutton) 
            {
            submitform(pressbutton);
            }
    </script>
    
    <form action="index.php" method="post" name="adminForm" id="adminForm">
    <input type="text" name="title" value="" />
    
    <input type="hidden" name="option" value="com_categoriescco" />
    <input type="hidden" name="task" value="save" />
    <input type="hidden" name="controller" value="ajout" />
    
    <button type="button" onclick="submitbutton('save')"><?php echo JText::_('JSAVE') ?></button>
    </form>
    Lorsque l on clique sur SAVE, le controller ajout reprend la main:
    controllers/ajout.php
    Code:
            public function save()
                    {
                    //traitement                       
                     }
                    $link = $_SERVER['HTTP_REFERER'];
                    $this->setRedirect($link, $msg);
                    }
    J'aimerai que la fenêtre modale se ferme lorsque je clique sur SAVE, et que mon traitement (function save) soit effectue.
    Pour cela, j'ai essayé de modifier la fonction submitbutton en ajoutant:
    Code:
     <script language="javascript" type="text/javascript">
    function submitbutton(pressbutton) 
            {
            submitform(pressbutton);
            parent.document.getElementById('sbox-btn-close').click();
            }
    </script>
    Ce qui me ferme bien ma fenêtre, mais alors je n'ai plus de traitement. Quelle est la logique a avoir? Ou faut-il fermer la fenêtre ?

    Merci de me faire part de vos pistes.

  • #2
    Re : fermer une fenêtre modale

    Trouvé !

    j'ai ajouté une ligne dans la function pressbutton => je rafraîchis la page parent et du coup cela "élimine" la fenêtre modale.
    Code:
    function submitbutton(pressbutton) 
            {
             window.parent.location.reload();
            submitform(pressbutton);
            }

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X