id de l'image cliquee

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : id de l'image cliquee

Re: id de l'image cliquee

par rimie » 13 mars 2012, 12:00

merci Aureusms

Re: id de l'image cliquee

par Aureusms » 12 mars 2012, 12:13

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

par rimie » 12 mars 2012, 05:23

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

par Aureusms » 11 mars 2012, 14:03

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

par rimie » 10 mars 2012, 06:42

merci j'ai trouve aussi replace

Re: id de l'image cliquee

par libertux » 08 mars 2012, 22:52

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,

id de l'image cliquee

par rimie » 07 mars 2012, 13:15

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