Page 1 sur 1

id de l'image cliquee

Posté : 07 mars 2012, 13:15
par rimie
Bonjour,

J'ai ce bout de code:

un lien dans une page, chacun a son propre id:
echo '<a class="embedLike" id="embedLike'.$id.'" style="cursor: pointer;" />';
echo '<br />';
echo '<div class="displayError'.$id.'" /></div>'; // emplacement d'affichage du resultat
jQuery
  $('a.embedLike').click(function(){
        
        var dataString = $('form.hiddenFieldFrm').serialize();
        var clickedItem = $(this).attr('id'); // le lien clique
        console.log(clickedItem);
        
        $.ajax({
        success: function(data) {
        	
        	
        		if(data.error == 1)
        		{
        			$('div.displayError'+clickedItem)
        			
        			
comment puis je recuperer l'identifiant, sous forme de chiffre pour le place au div avec class displayError.

exemple HTML
<a class="embedLike" id="embedLike12345" style="cursor: pointer;" />
<br />
<div class="displayError12345" /></div>
afficher l'erreur dans sa place appropriee suivant l'id

merci pour votre aide

Re: id de l'image cliquee

Posté : 08 mars 2012, 22:52
par libertux
Bonsoir,

Normalement il faut revoir votre logique d'identification mais dans ton cas actuel, si chaque "id" est de cette forme :

Code : Tout sélectionner

id="embedLike'.$id.'"
ou la variable "$id" est numérique et si chaque id contient la chaine de caractère "embedLike" alors une manière possible est de faire comme suit :

Code : Tout sélectionner

Utilise la fonction split. Par exemple, a=id.split('e'). Si id="embedLike12345", a[0]="embedLik" a[1]=12345
bon c'est pas l'idéale mais si toutes les conditions sont remplies le code fonctionnera sans problème.

Bon travail,

Re: id de l'image cliquee

Posté : 10 mars 2012, 06:42
par rimie
merci j'ai trouve aussi replace

Re: id de l'image cliquee

Posté : 11 mars 2012, 14:03
par Aureusms
S'il est le que numérique, récupère le avec des Regex.
Essaye cela (pas testé)
$('a.embedLike').click(function(){
       var exp = new Regex ('embedLike([0-9]+)$','g');
        var dataString = $('form.hiddenFieldFrm').serialize();
        var clickedItem = $(this).attr('id'); // le lien clique
        if (exp.test(clickedItem))
        {
            var tableau = exp.exec(clickedItem);
            alert (tableau[1]);
        }
...

Re: id de l'image cliquee

Posté : 12 mars 2012, 05:23
par rimie
merci Aureusms, c'est interessant, j'ai pas compris cette ligne:
       var exp = new Regex ('embedLike([0-9]+)$','g');

Re: id de l'image cliquee

Posté : 12 mars 2012, 12:13
par Aureusms
Bonjour,

Un Regex (ou REGular EXpression (expression régulière)) te permet de créer un masque de variable.
Les expressions régulières sont assez puissantes mais difficile à expliquer en quelques lignes .
Dans notre cas :
embedLike([0-9]+)$
permettra de vérifier les variables contenant embedLike et se terminant par un chiffre allant de 0 à l'infini. Les parenthèses sont là pour "capturer" le chiffre si et seulement si le masque est validé.
Ensuite tu lance la validation par
 exp.test(clickedItem))
. Et si cela est validé tu récupère ce qui est dans la parenthèses par
var tableau = exp.exec(clickedItem)
La récupération est toujours avec la position :
0 = avec la variable complète
1 = première parenthèse capturante
2 = deuxième parenthèse capturante,
...

Enfin pour finir avec

Code : Tout sélectionner

var exp = new Regex ('embedLike([0-9]+)$','g');
remarques tu le 'g' à la fin ? Il permet de faire la recherche en mode dit global (je le mets toujours par défaut). Si tu voulais que le masque respecte la Casse, il faudrait ajouter l’option 'i' ce qui donnerait :

Code : Tout sélectionner

var exp = new Regex ('embedLike([0-9]+)$','gi');

Re: id de l'image cliquee

Posté : 13 mars 2012, 12:00
par rimie
merci Aureusms