11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

// Si vous avez la technique sur un autre plugin, ou méthode codée main, je prends aussi Smiley cligne merci

J'essaye de placer un input dans le caption d'une image affichée full-size, lequel permettrait au propriétaire de la galerie de modifier le nom de ses photos individuellement, une fois affichées en grand, car renommer ou supprimer une photo en miniature, c'est pas super, on peut se tromper !
Donc une fois affichée en grand, je veux pouvoir modifier le nom de ma photo... (en tant qu'utilisateur).

Voila ma logique.

<a class="fancybox" rel="gallery1" 
     href="<?php echo $chemin; ?>"
    data-caption=' <div class="input_ctn"> <form  method="POST" action="">
                                                                <input type="text" id="<?php echo $galleryname."/".$file; ?>" 
                                                                 class="titre_pic" 
                                                                 value="<?php echo $title;  ?>" 
                                                                  /> 
                                                               </form>
                                                     </div>'
                   >  
                   <div class="mes_photos">
                       <img src="<?php echo $chemin ?>" alt='' />                   
                   </div>
                  </a>


Mais lorsque je tente de récupérer mon input.val() ou mon input.attr('id'); je reçois un UNDEFINED !!! Smiley fache Smiley fache Smiley fache Smiley fache Smiley fache Smiley fache

$(document).ready(function() { 
$(".fancybox").fancybox({ 'autoSize' : true, etc; });

$(".fancybox").each(function() { 
var inp = $(this).find('.titre_pic').attr('id'); alert(inp); /// UNDEFINED 
var inpval = $(this).find('.titre_pic').attr('id'); alert(inpval); /// UNDEFINED 

});



Merci pour votre aide potentielle.......
Modifié par Vape6 (18 Mar 2016 - 11:37)
Bonjour,

Il y en manque juste un bout :
  $(".fancybox").each(function() {
    var caption = $(this).data('caption')
    var inp = $(caption).find('.titre_pic').attr('id'); console.info(inp);
    var inpval = $(caption).find('.titre_pic').val(); console.warn(inpval); 
  })
Bonjour SolidSnake,


$(this).data('caption') > OKayyy !!! J'enregistre.

Merci d'avoir pris le temps de répondre, mon héro !!!
Question suivante :


$(".fancybox").each(function() {

    var caption = $(this).data('caption');
    var inp = $(caption).find('.titre_pic'); 
	
    $(inp).on('keyup click blur',function() { var file = $(this).attr('id');   console.log(file);
                                                                 var new_name = $(this).val();     console.log(new_name);
                                                                // $.ajax
							  


A partir de $(inp).change ou blur(function() , ça ne fonctionne plus. Rien dans la console, mon ajx ne passe pas, rien dans network, pas d'erreur affichée...

Une idée stp ?
Merci
Modifié par Vape6 (18 Mar 2016 - 11:41)