Récupérer une variable json après une fonction de callback
Fermé
sdrogba
Messages postés
66
Date d'inscription
mercredi 18 août 2010
Statut
Membre
Dernière intervention
3 novembre 2016
-
14 janv. 2014 à 19:45
sdrogba Messages postés 66 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016 - 16 janv. 2014 à 16:44
sdrogba Messages postés 66 Date d'inscription mercredi 18 août 2010 Statut Membre Dernière intervention 3 novembre 2016 - 16 janv. 2014 à 16:44
A voir également:
- Récupérer une variable json après une fonction de callback
- Fonction si et - Guide
- Récupérer une vidéo youtube - Guide
- Recuperer message whatsapp supprimé - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer mon compte facebook désactivé - Guide
2 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié par Reivax962 le 15/01/2014 à 08:05
Modifié par Reivax962 le 15/01/2014 à 08:05
Bonjour,
id = $(this).find("span[name=id]").val();
Je ne suis pas du tout convaincu que val() renvoie l'ID d'un <span>... Dans la doc, val() n'est censé s'appliquer qu'aux éléments de formulaire, et renvoie la valeur de "value" (je n'ai pas de quoi tester sous la main)
As-tu essayé de mettre
id = $(this).find("span[name=id]").attr('id');
plutôt ?
Xavier
id = $(this).find("span[name=id]").val();
Je ne suis pas du tout convaincu que val() renvoie l'ID d'un <span>... Dans la doc, val() n'est censé s'appliquer qu'aux éléments de formulaire, et renvoie la valeur de "value" (je n'ai pas de quoi tester sous la main)
As-tu essayé de mettre
id = $(this).find("span[name=id]").attr('id');
plutôt ?
Xavier
sdrogba
Messages postés
66
Date d'inscription
mercredi 18 août 2010
Statut
Membre
Dernière intervention
3 novembre 2016
15 janv. 2014 à 18:27
15 janv. 2014 à 18:27
Bonjour Reivax962,
Merci pour votre réponse.
Je viens juste d'essayer votre solution, hélas rien n'a changé. :/
Je me demande si ma fonction de callback est bien placée ... (actuellment en dehors du popin...
Sauriez vous si on peut la placer à l'intérieur et si oui comment svp ?
Merci
Merci pour votre réponse.
Je viens juste d'essayer votre solution, hélas rien n'a changé. :/
Je me demande si ma fonction de callback est bien placée ... (actuellment en dehors du popin...
Sauriez vous si on peut la placer à l'intérieur et si oui comment svp ?
Merci
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
16 janv. 2014 à 10:13
16 janv. 2014 à 10:13
Au temps pour moi.
Essaie ceci :
id = $('#foo').html();
Sachant que, si j'ai bien compris, l'id est rempli de cette façon :
$('#foo').html(popupligne);
avec popupligne qui vaut l'id que tu recherches.
Xavier
Essaie ceci :
id = $('#foo').html();
Sachant que, si j'ai bien compris, l'id est rempli de cette façon :
$('#foo').html(popupligne);
avec popupligne qui vaut l'id que tu recherches.
Xavier
sdrogba
Messages postés
66
Date d'inscription
mercredi 18 août 2010
Statut
Membre
Dernière intervention
3 novembre 2016
Modifié par sdrogba le 16/01/2014 à 11:02
Modifié par sdrogba le 16/01/2014 à 11:02
Merci Reivax962 pour ton aide.
Je pense ne plus être très loin de la solution, je m'explique :
J'ai retiré la fonction de callback qui se basait sur le load d'un formulaire, j'ai lu que cela ne pouvait pas fonctionner...
De ce fait j'ai rajouté la fonction de callback (en gras ci-dessous) à l'ouverture de mon popin.
Cela à l'air de vraiment mieux fonctionner, la fonction alert me renvoie bien mon id (comme la suggestion au dessus de votre part, j'ai pensé à l'alimentation de populigne.
Maintenant je suis sûr de passer dans ma fonction de callback, alert s'affiche bien et dans la console web il est écrit que je fais bien une requête POST.
Cependant, impossible de récupérer, une valeur en php ...
j'ai été jusqu'à faire un print_r($_POST); => le tableau est vide ...
Auriez vous une idée ?
Le code actualisé en dessous :
Je pense ne plus être très loin de la solution, je m'explique :
J'ai retiré la fonction de callback qui se basait sur le load d'un formulaire, j'ai lu que cela ne pouvait pas fonctionner...
De ce fait j'ai rajouté la fonction de callback (en gras ci-dessous) à l'ouverture de mon popin.
Cela à l'air de vraiment mieux fonctionner, la fonction alert me renvoie bien mon id (comme la suggestion au dessus de votre part, j'ai pensé à l'alimentation de populigne.
Maintenant je suis sûr de passer dans ma fonction de callback, alert s'affiche bien et dans la console web il est écrit que je fais bien une requête POST.
Cependant, impossible de récupérer, une valeur en php ...
j'ai été jusqu'à faire un print_r($_POST); => le tableau est vide ...
Auriez vous une idée ?
Le code actualisé en dessous :
<script charset="utf-8" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script>
$(function(){
$(".popup-light").click(function() {
var obj = $(this),
popupligne = obj.parent().parents('tr:eq(0)').find('td:eq(0)').text(),
popupClass = obj.data("popupClass"),
popupWidth = obj.data("popupWidth"),
objPopup = $('.' + popupClass);
objPopup
.css("width", popupWidth)
.prepend('<img src="http://sohtanaka.developpez.com/tutoriels/javascript/creez-fenetre-modale-avec-css-et-jquery/fichiers/close_pop.png" class="popup-btn-close" title="Close Window" alt="Close" />')
.css({
// Si l'on regroupe les deux blocs CSS, le popup n'est pas bien positionné
// Le popup doit avoir sa taille définitive avant le calcul de outerHeight et de outerWidth
"margin-top": -objPopup.outerHeight(true)/2,
"margin-left": -objPopup.outerWidth(true)/2
})
.fadeIn();
$("<div/>", {
"class":"voile-noir",
"css":{
"filter":"alpha(opacity=80)"
}
}).appendTo("body").fadeIn();
$('#foo').html(popupligne);
<gras> var id = obj.parent().parents('tr:eq(0)').find('td:eq(0)').text();
var obj = {idPopup:id}
$.ajax({
type: "POST",
url: "produits.php",
data: obj ,
function(data){
alert( "ID : " + id );
}
});</gras>
return false;
});
$("body").delegate(".popup-btn-close, .voile-noir", "click", function(){
$('.voile-noir , .popup-block').fadeOut(function(){
$(".popup-btn-close, .voile-noir").remove();
});
return false;
});
});
</script>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
16 janv. 2014 à 16:34
16 janv. 2014 à 16:34
Une autre tentative alors (je ne suis pas un grand adepte de jQuery, alors je tâtonne un peu...)
Au lieu de
var obj = {idPopup:id}
Essaie
var obj = "idPopup=" + id;
Xavier
Au lieu de
var obj = {idPopup:id}
Essaie
var obj = "idPopup=" + id;
Xavier
sdrogba
Messages postés
66
Date d'inscription
mercredi 18 août 2010
Statut
Membre
Dernière intervention
3 novembre 2016
16 janv. 2014 à 16:44
16 janv. 2014 à 16:44
Je pense que le code jquery doit s'approcher de la vérité (puisque ma valeur passée à l'air bonne) par contre je dois avoir un soucis en php peut être ou alors cela vient de ma redirection je ne sais pas trop où chercher.
En tout cas selon la doc jquery c'est bien ce format var obj = {idPopup:id}
En tout cas selon la doc jquery c'est bien ce format var obj = {idPopup:id}