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 :

Modal box et JavaScript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut Modal box et JavaScript
    Bonjour à tous,

    Je vous explique, j'ai un lien href duquel

    - j'exécute une fonction ajax qui récupère un script js (contenu dans une table).

    - j'ouvre une modal box qui récupère le contenu de ma fonction ajax.

    Ma fonction ajax s'exécute correctement, ma modal box s'affiche et récupère bien le script(visible en affichant le code source de ma page). Cependant le js s'exécute pas.

    Je suppose que cela est du au fait que le js s'exécute au chargement de la page principal.

    Auriez-vous une solution pour que mon js s'exécute ?
    Et-il possible de recharger une modal box ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ta modalbox provient d'ou ? quel langage ? code js utilisé ?

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour et bienvenue sur Developpez.com

    Une solution pour charger les scripts récupérés via Ajax est indiqué dans la FAQ
    D'autres ont été évoquées directement sur le forum, me semble-t-il ...

    A+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    Voici le code java script de ma modal box

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Modalbox.show($('nom_div'), {title: 'titre',width: 500, height: 600});
    celle-ci se trouve dans mon liens href.

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    qu'entends tu par :

    Ma fonction ajax s'exécute correctement, ma modal box s'affiche et récupère bien le script(visible en affichant le code source de ma page). Cependant le js s'exécute pas.
    tu récupères un scripts javascript en ajax ?
    si oui , il te faut utiliser le chargement dynamique le script , ou alors faire un eval(retourajax)

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    merci pour vos réponses.

    oui je récupère un scripts javascript en ajax.

    E.Bzz j'ai testé la solution du FAQ mais ne fonctionne pas et
    j'ai tenté d'utiliser aussi la solution proposée ici

    mais mon eval(retour ajax) ne semble pas fonctionner.

    dans le code source de ma modal box je trouve bien mon script mais rien ne s'affiche à l'écran.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    voici le code que j'utilise :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
        // SetInnerHTML Sécurisé
        function setInnerHTML(divContent, HTML) {
          divContent.innerHTML=HTML; 
          var All=divContent.getElementsByTagName("*");
          for (var i=0; i<All.length; i++) {
            All[i].id=All[i].getAttribute("id");
            All[i].name=All[i].getAttribute("name");
            All[i].className=All[i].getAttribute("class");
          }
          var AllScripts=divContent.getElementsByTagName("script");
          for (var i=0; i<AllScripts.length; i++) {
             var s=AllScripts[i];
             if (s.src && s.src!="") {
                // Précédement asynchrone, mis en synchrone pour éviter des problèmes de dépendances de scripts
                eval(getFileContent(s.src));
             }
             else {
                eval(s.innerHTML);
             }
          }
        }
     
        // Renvoie le texte de l'objet ActiveXObject le plus récent depuis une liste
        var pickRecentProgID = function (idList){
    	    // found progID flag
            var bFound = false;
            for(var i=0; i < idList.length && !bFound; i++){
                try{
                    var oDoc = new ActiveXObject(idList[i]);
                    o2Store = idList[i];
                    bFound = true;
                }catch (objException){
                    // trap; try next progID
                };
            };
            if (!bFound)
    		    throw ("Aucun ActiveXObject n'est valide sur votre ordinateur, pensez à mettre à jour votre navigateur");
            idList = null;
            return o2Store;
        }
     
        // Retourne un nouvel objet XmlHttpRequest
        var GetXmlHttpRequest_AXO=null;
        var GetXmlHttpRequest=function () {
    	    if (window.XMLHttpRequest) {
    		    return new XMLHttpRequest();
    	    }
    	    else if (window.ActiveXObject) {
    		    if (!GetXmlHttpRequest_AXO) {
    			    GetXmlHttpRequest_AXO=pickRecentProgID(["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]);
    		    }
    		    return new ActiveXObject(GetXmlHttpRequest_AXO);
    	    }
    	    return false;
        }
     
        function getFileContent(url) {
           var Xhr=GetXmlHttpRequest();
           Xhr.open("GET",url,false);
           Xhr.send(null);
           return Xhr.responseText;
        }
    ce code s'exécute correctement sauf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(getFileContent(s.src))
    où le getFileContent(s.src) renvoi bien une réponse mais l'eval ne semble pas fonctionner.

    Avez-vous une idée ? Merci

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par zouzouille63 Voir le message
    Avez-vous une idée ? Merci
    Une erreur de code dans le JS à évaluer ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    En fait le code js évalué est un widget google.
    J'ai déjà testé ce code dans la modal box et il fonctionné .

  10. #10
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    il s'agit d'un appel a une fonction ? ou d'une fonction complète ?

  11. #11
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    Voici un exemple d'un des script js appelé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="http://www.gmodules.com/ig/ifr?url=http://adwebmaster.net/datetimemulti/datetimemulti.xml&up_color=brown&up_txtcolor=softnavy&up_lang=fr&up_formattime=24%3A00%3A00&up_formatdisplaytime=12&up_timezoneadd=0&up_startcalendar=0&up_elementscached=1&up_affactualtime=1&up_afftimesec=0&up_affcalendar=1&up_affcalendarlongday=0&up_affbigpub012009=1&up_formattempshorloge=analogue&synd=open&w=320&h=145&title=Calendrier+et+Heure⟨=fr&country=ALL&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu as déjà entendu parler de la règle de Same Origin Policy ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    Non je ne connais pas

  14. #14
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    Après recherche je comprend le probleme.

    Merci à tous pour votre aide.

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

Discussions similaires

  1. [AJAX] Utiliser ajax pour une modal box
    Par fabrizti dans le forum AJAX
    Réponses: 1
    Dernier message: 10/01/2011, 09h36
  2. combo box en javascript _ fichiers KML
    Par Jijudu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/11/2008, 18h43
  3. [AJAX] [ModalBox] Les modal box peuvent-elles être draggable ?
    Par SONY30 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/10/2008, 11h39
  4. select box avec javascript
    Par flamant dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/09/2008, 11h53
  5. [MooTools] Recharger une div apres affiche d'une modale box
    Par alas70 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/11/2007, 17h18

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