Rechercher : dans
Par :

Problème avec JQuery et AJAX : au secours !..

the versus, le 1 nov 2008 à 18:42:21 
 Signaler ce message aux modérateurs

Bonjour messieurs dames...

depuis un moment déjà, je me suis mis à la programmation d'un concurrent direct du célèbre gestionnaire de bases de données my SQL "phpmyadmin" mais en plus "moderne". Fini les "insert after" et faite place au "drag and drop" de Jquery. Comprenez que c'est un projet très ambitieux pour un jeune de 17 ans, mais le problème n'est pas du tout là. J'ai appris à faire des requêtes AJAX parallèlement au développement de ma futur plate-forme, et je souhaite l'intégré à mon projet déjà bien avancé ... Seulement, j'utilise Jquery mais je refuse d'utilisé les fonctions AJAX qui y sont intégré du au manque de personnalisation des états de la requête et autre ...

J'ai réussi a l'intégré parfaitement, mais un problème majeurs se pause ...

Par exemple ... J'ai un menu déroulant (semblable à celui ci : http://css.alsacreations.com/xmedia/exemples/accordeon/menu_demo.html ) contenant toute les bases de données ainsi que leurs table respectif présentes sur le serveur my SQL ( Imaginez vous vous que Item 2 soit une base de donné et que Item 2.1 est la première table de cette base ).

lors de la création d'une table, il faut pouvoir actualisé le menu pour faire apparaître la nouvelle table ( par Exemple Item 2.x ) dans le sous-menu correspondant (dans notre exemple : Item 2). coté requête AJAX, traitement serveur et tout, aucun problème.... mais, le souci est que une foi l'actualisation faite, mon script Jquery gérant l'ouverture des sous menu ne marche plus.

Voici mon script actualisant mon menu déroulant :

function actualise_globalMenu ()
{
var N_menu = $j("#globalMenu .Menu").length;

for (var i = 0; i < N_menu; i++) {
if ( $j("#globalMenu .Menu:eq("+i+") .SubMenu:visible").length == 1 ) {
var submenu = $j("#globalMenu .Menu:eq("+i+") .title").text( ) ;
break ;
}
}

http = createRequestObject(); //création d'un nouveau XMLHttpRequest()

http.open('post', 'Functions/globalMenu.php', true);
http.onreadystatechange = function () {
if ( http.readyState == 4 ) {
if ( http.status == 200 ) {
document.getElementById('globalMenu').innerHTML = http.responseText; // affichage de mon traitement serveur.

}
}
};
http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
http.send('open='+submenu);
}

le script de mon menu deroulant :

jQuery(function($) {
$j('.AdminMenu .Menu > .title').click( function () {
if ($j(this).next('.SubMenu:visible').length == 0) {
$j('.AdminMenu .Menu .SubMenu').slideUp('normal');
$j(this).next('.SubMenu').slideDown('normal');
}
});
});

le menu déroulant marche à la perfection lorsque le menu n'a pas été actualisé, mais rien ne se passe lorsque l'on veut ouvrir un autre menu déroulant une fois actualisé. Est il possible de re-initialisé Jquery une fois la requête terminé ?....

Je précise que $j est tout à fait normale du à cette ligne là
var $j = jQuery.noConflict();
Cela n'altère pas du tout le fonctionnement de Jquery, c'est juste pour que si éventuellement j'intègre une autre bibliothèque ....

Veillez m'excuser pour les éventuels fautes de français, et je vous remercie de votre attention et de votre aide éventuel.

Configuration: Mac OS X leopard sur imac G4 tournesol 1.25 Ghz

Meilleures réponses pour « Problème avec JQuery et AJAX : au secours !.. » dans :
AJAX (Asynchronous Javascript And XML) VoirIntroduction à AJAX AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) est une méthode de développement web basée sur l'utilisation d'un script Javascript pour effectuer des requêtes web à l'intérieur d'une page web...
AJAX (Asynchronous Javascript And XML) VoirAvantages liés à AJAx Les sites web utilisant AJAX bénéficient des avantages suivants : Une interface réactive car AJAX permet de modifier localement la page web ; Une rapidité d'exécution car seules les données à modifier dans la page sont...
AJAX (Asynchronous Javascript And XML) VoirAvantages liés à AJAx Les sites web utilisant AJAX bénéficient des avantages suivants : Une interface réactive car AJAX permet de modifier localement la page web ; Une rapidité d'exécution car seules les données à modifier dans la page sont...
Collection CommentÇaMarche.net