Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/03/2011, 16h37   #1
Invité régulier
 
Inscription : mars 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 49
Points : 8
Points : 8
Par défaut Résultat POST invisible dans html

Bonjour,

j'ai fait une petite page internet ou l'utilisateur choisit une categorie dans un menu et via ajax post, suivant ce qu'il choisit, j'affiche une sous-categorie. Tout va bien au niveau de l'affichage sur la page, mais je remarque cependant, que quand je fais un affichage de ma source html, les sous-categorie n'apparaisse pas. C'est normal?

D'avance merci
Alixe80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h44   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 805
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 805
Points : 35 807
Points : 35 807
Oui c'est normal.
Par défaut, les navigateurs affichent la source de la page au moment de son chargement.
Pour voir la source actualisée, tu peux utiliser par exemple Web Developper ou Firebug pour Firefox.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h56   #3
Invité régulier
 
Inscription : mars 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 49
Points : 8
Points : 8
ok, mais mon problème est que du coup, quand le visiteur clique sur cette sous-catégorie, je veux refaire un post via jquery/ajax en envoyant la sous-catégorie et afficher la liste des éléments de cette sous-catégorie, mais c'est impossible.
C'est comme si aucune donnée n'était envoyée. J'ai fait le test en écrivant en dur, en html, les sous-catégories et là, ça fonctionne, le contenu s'affiche au clic de l'utilisateur.
Alixe80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 17h02   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
sans doute une creation dynamique d'elements de form en innerHTML ?
Le elements ne sont alors pas reconnus pas le DOM
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 23h49   #5
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 39
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 39
Points : 32
Points : 32
Bonjour,

je suppose que votre sous catégorie contient des éléments html 'input', et que ces elements sont injecté par ajax donc c'est normal que celà ne fonctionne pas, pour les raisons cité par SpaceFrog, pour faire fonctionner ces sous catégorie il faut y rajouter un evenement en utilisant .live()

Code :
1
2
3
 
$(".sous_categorie").live("click",function()
{alert("ma valeur de sous categorie"+$(this).val();)});
Samolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 11h37   #6
Invité régulier
 
Inscription : mars 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 49
Points : 8
Points : 8
Bonjour,

pour être plus claire, voici mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$(document).ready(function() {
 
  	$("#categorie li a").click(function() {
		var id = $(this).attr('id').split("_");
		var id = id[1];
		var cat = $(this).text();
 
		$.get ("ajax.php", {"idCategorie": id, "nomCategorie": cat, "action": "getChoix"}, function(data){
			$('#choix').html(data);
		});
    return false;
	});   
 
	$("#choix li").click(function() {
		alert ('ok');
....
Si maintenant j'écris
Code :
1
2
3
4
 
$("#choix li").live("click",function(){
alert ('ok');
...
Il m'indique un message d'erreur disant que cet objet ne gère pas cette propriété ou cette méthode....
Alixe80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 19h37   #7
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 39
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 39
Points : 32
Points : 32
Quelle est ta version de jquery car .live a été implanté à la version 1.3:
http://api.jquery.com/live

Code :
1
2
3
4
5
 
//code alternatif
$("li","#choix").live("click",function(){
alert ('ok');
});
Sinon il te reste une solution c'est de mettre l'evenement dans le success ou le complete de ton appel ajax comme ceci
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$(document).ready(function() {
 
  	$("#categorie li a").click(function() {
		var id = $(this).attr('id').split("_");
		var id = id[1];
		var cat = $(this).text();
 
		$.get ("ajax.php", {"idCategorie": id, "nomCategorie": cat, "action": "getChoix"}, function(data){
		       $('#choix').html(data);
                       //une fois les donnees chargees, je lui donne l'evenement
                       $("#choix li").click(function() {alert ('ok');});
		});
    return false;
	});
Samolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h10.


 
 
 
 
Partenaires

Hébergement Web