Spip et ajax sont dans un bateau .... mais j'ai pas les rames ; )

Bonjour !!

Et voilà une nouvelle question.
J’ai demandé à un développeur d’intégrer la partie html/css du site sur lequel je travaille pour n’avoir ‹ plus ka › insérer mes boucles spip au bon endroit…
Je lui ai aussi demandé un petit peu d’ajax sur des menus déroulants.

Du coup, (il ne connait pas spip), il m’a mit dans l’entête l’appel à la bibliothèque jquery… mais est-ce utile ? J’obtiens une erreur ‹ [object XMLHttpRequest] › lorsque je change de choix …

Si l’enlève l’appel à jquery en ne laissant que l’appel à son bout de code (fichier article.js)

$(document).ready(function() {
$(« .lien_sous_menu »).change(function(){
if($(this).attr(« value ») != « # ») {
$.ajax({
type: « POST »,
url: $(this).attr(« value »),
data: «  »,
error:function(msg) {
alert( "Erreur !: " + msg );
},
success:function(data) {
$(‹ #corps ›).html(data);
}
});
}
});
});

Il ne se passe plus rien … est-ce normal ?

En clair doit-on faire l’appel de jquery dans l’entete d’un squelette ajaxiser ? Ou doit-on mettre autre chose (une balise spécifique ?)
Merci !!

Emmanuelle Roux
Les Clefs du Net

Organisme de formation dédié au Multimédia / Centre de productions numériques
www.les-clefs-du-net.com

C’est bon ! Mon développeur adoré est rentré en urgence et du coup, on a réussir à s’en dépatouiller …

Par contre je continue dans mon entete à avoir les déclarations suivantes :

Et ça me parait vraiment bizarre de redéclarer jquery mais is je l’enlève ça ne marche plus …
Est-ce que c’est mon code ‹ article.js › que je devrais mettre ailleurs ? Ou dois-je tout laisser comme ça ?

Merci !

Emmanuelle Roux
Les Clefs du Net

Organisme de formation dédié au Multimédia / Centre de productions numériques
www.les-clefs-du-net.com

Salut,
La balise en question pour le header est #INSERT_HEAD
Enfin, il est indispensable que ton petit script soit placé après l'appel à jQuery, que SPIP fait normalement tout seul : pas de double appel.
Pour qu'un fragment Ajax chargé après un hit soit traité par jQuery, il faut utiliser onAjaxLoad. Le Couteau Suisse le fait déjà, si ça peut te donner des pistes, sans que je sois sûr que ça soit ton réel pb...
Pat

emmanuelle roux a écrit :

Bonjour !!

Et voilà une nouvelle question.
J'ai demandé à un développeur d'intégrer la partie html/css du site sur
lequel je travaille pour n'avoir 'plus ka' insérer mes boucles spip au bon
endroit...
Je lui ai aussi demandé un petit peu d'ajax sur des menus déroulants.

Du coup, (il ne connait pas spip), il m'a mit dans l'entête l'appel à la
bibliothèque jquery... mais est-ce utile ? J'obtiens une erreur '[object
XMLHttpRequest]' lorsque je change de choix .....

Si l'enlève l'appel à jquery en ne laissant que l'appel à son bout de code
(fichier article.js)

$(document).ready(function() {

    $(".lien_sous_menu").change(function(){
        if($(this).attr("value") != "#") {
            $.ajax({
                type: "POST",
                url: $(this).attr("value"),
                data: "",
                error:function(msg) {
                    alert( "Erreur !: " + msg );
                },
                success:function(data) {
                    $('#corps').html(data);
                }
            });
        }
    });
});

Il ne se passe plus rien .... est-ce normal ?

En clair doit-on faire l'appel de jquery dans l'entete d'un squelette
ajaxiser ? Ou doit-on mettre autre chose (une balise spécifique ?)
Merci !!

Emmanuelle Roux
Les Clefs du Net

Organisme de formation dédié au Multimédia / Centre de productions
numériques
www.les-clefs-du-net.com