Récupérer la valeur d'un champ

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Récupérer la valeur d'un champ

Message par Hudson Hornet Mar 25 Déc 2018 - 14:23

Détails techniques

Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Mozilla Firefox, Google Chrome, Internet Explorer, Opera, Safari, Autre
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : Disponible en message privé

Description du problème

Bonjour,

Suite à mes précédentes demandes (résolues par @Lixyr)
-  https://forum.forumactif.com/t398397-recuperer-la-valeur-du-systeme-de-points
-  https://forum.forumactif.com/t398706-recuperer-la-valeur-d-un-champ?nid=13#3331528

Voici ce que j'ai mis dans ma template :
Code:
<span class="genmed">Porte monnaie : <b><span class="infos_f1"></span></b></span><br /><br />

Et voici le script :
Code:
$(function() {
  if (_userdata["user_id"] > -1) {
    var id_field1 = 1;
    // Infos du profil  
      $(".infos_f1").html($(data).find('#field_id-'+id_field1+' .field_uneditable').html());
    });
  };
});

J'ai fais le choix de ne plus utiliser le système de point car celui-ci n'est pas modifiable par les administrateurs, et ne peut contenir que des chiffres. Je l'ai donc retiré du script et de la template, puis j'ai adopter à la lettre les instructions pour modifier le script, mais rien ne s'affiche...


Dernière édition par Hudson Hornet le Jeu 27 Déc 2018 - 18:58, édité 1 fois
Hudson Hornet

Hudson Hornet
***

Masculin
Messages : 101
Inscrit(e) le : 09/04/2017

Hudson Hornet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Récupérer la valeur d'un champ

Message par YumiNeko Mar 25 Déc 2018 - 15:55

Bonjour !
Tu as verfié le JavaScript ? Est-il activé ? Smile
YumiNeko

YumiNeko
**

Féminin
Messages : 79
Inscrit(e) le : 16/11/2018

http://handi-family.forumactif.com
YumiNeko a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Récupérer la valeur d'un champ

Message par Invité Mer 26 Déc 2018 - 9:06

Hello Hudson Hornet,

Lien du forum : Disponible en message privé

C'est le monde à l'envers dis donc,
c'est à nous d'aller aux informations pour te filer un coup de main Shocked

tout est évasif dans ta demande, ou est placé ce code html dans ton template?

Code:
<span class="genmed">Porte monnaie : <b><span class="infos_f1"></span></b></span><br /><br />

Code:
J'ai fais le choix de ne plus utiliser le système de point car celui-ci n'est pas modifiable par les administrateurs, et ne peut contenir que des chiffres.

Très bien, tu as donc créé un autre champ alors, mais lequel?

Je vais te donner un exemple avec un champs texte:

Récupérer la valeur d'un champ 1132

Le champ se nomme:
Texte du champ
Il servira pour le script et t'évitera de trouver id de la balise dl.

Dans le template viewtopic_body (car je présume que le code html est placé dans ce dernier):
Affichage/Templates/Général/viewtopic_body

J'ai placé :

Code:
<span class="genmed">Porte monnaie : <b><span class="infos_f1"></span></b></span><br /><br />

Juste avant:
Code:

<!-- BEGIN profile_field -->
                                    
 {postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}
 <!-- END profile_field -->



Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript

Mettre un titre explicite.
Cocher  Sur les sujets

Déposes ceci:
Code:

$(function() {
if (_userdata["user_id"] > -1) {
$('.infos_f1').each(function(){
var $this=$(this);
var a=$(this).closest('td').find('a[href^="/u"]:first').attr('href');
$.get(a ,function (data) {
var b=$(data).find('#profile-advanced-details  dt span:contains(Texte du champ)').closest('dl').find('.field_uneditable').html();
$this.html(b);
});});
};
});



Penses à cliquer sur le bouton VALIDER

Pour les prochains, tu peux te baser sur la même structure en prenant le même exemple que cette ligne:
Ici on recherche le texte du champ comme mentionnait plus haut (Texte du champ)

Code:

var b=$(data).find('#profile-advanced-details  dt span:contains(Texte du champ)')


a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Récupérer la valeur d'un champ

Message par Hudson Hornet Mer 26 Déc 2018 - 12:00

Milouze14 a écrit:Hello Hudson Hornet,

Lien du forum : Disponible en message privé

C'est le monde à l'envers dis donc,
c'est à nous d'aller aux informations pour te filer un coup de main Shocked

tout est évasif dans ta demande, ou est placé ce code html dans ton template?

Code:
<span class="genmed">Porte monnaie : <b><span class="infos_f1"></span></b></span><br /><br />

Code:
J'ai fais le choix de ne plus utiliser le système de point car celui-ci n'est pas modifiable par les administrateurs, et ne peut contenir que des chiffres.

Très bien, tu as donc créé un autre champ alors, mais lequel?

Je vais te donner un exemple avec un champs texte:

Récupérer la valeur d'un champ 1132

Le champ se nomme:
Texte du champ
Il servira pour le script et t'évitera de trouver id de la balise dl.

Dans le template viewtopic_body (car je présume que le code html est placé dans ce dernier):
Affichage/Templates/Général/viewtopic_body

J'ai placé :

Code:
<span class="genmed">Porte monnaie : <b><span class="infos_f1"></span></b></span><br /><br />

Juste avant:
Code:

<!-- BEGIN profile_field -->
                                    
 {postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}
 <!-- END profile_field -->



Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript

Mettre un titre explicite.
Cocher  Sur les sujets

Déposes ceci:
Code:

$(function() {
if (_userdata["user_id"] > -1) {
$('.infos_f1').each(function(){
var $this=$(this);
var a=$(this).closest('td').find('a[href^="/u"]:first').attr('href');
$.get(a ,function (data) {
var b=$(data).find('#profile-advanced-details  dt span:contains(Texte du champ)').closest('dl').find('.field_uneditable').html();
$this.html(b);
});});
};
});



Penses à cliquer sur le bouton VALIDER

Pour les prochains, tu peux te baser sur la même structure en prenant le même exemple que cette ligne:
Ici on recherche le texte du champ comme mentionnait plus haut  (Texte du champ)

Code:

var b=$(data).find('#profile-advanced-details  dt span:contains(Texte du champ)')


a++
Hello @Milouze14
Oui désolé, il faut dire qu'hier les fêtes me sont montées à la tête Rolling Eyes.
Donc j'ai placé ma ligne de code dans le template mod_login (dans portail) de cette façon : 
Spoiler:

Mon champ s'appelle "Argent" et porte l'id 1. J'ai donc bien créer un nouveau champ.
Hudson Hornet

Hudson Hornet
***

Masculin
Messages : 101
Inscrit(e) le : 09/04/2017

Hudson Hornet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Récupérer la valeur d'un champ

Message par Invité Jeu 27 Déc 2018 - 7:21

Hello Hudson Hornet,

Alors remplaces le script par celui-ci:

Code:

$(function() {
if (_userdata["user_id"] > -1) {
var a=_userdata["user_id"];
$.get('/u'+a+'',function (data) {
var b=$(data).find('#profile-advanced-details  dt span:contains(Argent)').closest('dl').find('.field_uneditable').html();
  alert(b);
$('.infos_f1').html(b);
});
};
});


a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Récupérer la valeur d'un champ

Message par Hudson Hornet Jeu 27 Déc 2018 - 13:11

Milouze14 a écrit:Hello Hudson Hornet,

Alors remplaces le script par celui-ci:

Code:
$(function() {
if (_userdata["user_id"] > -1) {
var a=_userdata["user_id"];
$.get('/u'+a+'',function (data) {
var b=$(data).find('#profile-advanced-details  dt span:contains(Argent)').closest('dl').find('.field_uneditable').html();
  alert(b);
$('.infos_f1').html(b);
});
};
});


a++
Hello
ça marche parfaitement, mais à chaque fois que j'ouvre la fenêtre où peut se trouver mon indicateur une alerte s'affiche et m'affiche la valeur. Je suppose que ça vient de "alert(b); $('.infos_f1').html(b);" ?

@+
Hudson Hornet

Hudson Hornet
***

Masculin
Messages : 101
Inscrit(e) le : 09/04/2017

Hudson Hornet a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Récupérer la valeur d'un champ

Message par Invité Jeu 27 Déc 2018 - 16:24

Re,

remplaces le script par celui-ci:
Code:
$(function() {
if (_userdata["user_id"] > -1) {
var a=_userdata["user_id"];
$.get('/u'+a+'',function (data) {
var b=$(data).find('#profile-advanced-details  dt span:contains(Argent)').closest('dl').find('.field_uneditable').html();
$('.infos_f1').html(b);
});
};
});


J'avais oublié de supprimer l'alerte Wink .

a++
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Récupérer la valeur d'un champ

Message par Hudson Hornet Jeu 27 Déc 2018 - 18:58

Milouze14 a écrit:Re,

remplaces le script par celui-ci:
Code:
$(function() {
if (_userdata["user_id"] > -1) {
var a=_userdata["user_id"];
$.get('/u'+a+'',function (data) {
var b=$(data).find('#profile-advanced-details  dt span:contains(Argent)').closest('dl').find('.field_uneditable').html();
$('.infos_f1').html(b);
});
};
});


J'avais oublié de supprimer l'alerte Wink  .

a++
Super, ça marche !
Résolu !

@++
Hudson Hornet

Hudson Hornet
***

Masculin
Messages : 101
Inscrit(e) le : 09/04/2017

Hudson Hornet a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum