2010-08-31 4 views
0

J'ai un problème avec jQuery que je pensais être simple, mais je n'ai toujours pas trouvé de solution. J'ai un formulaire de téléchargement pour les utilisateurs de télécharger des images dans WordPress, et quand un utilisateur clique sur "insérer dans la poste" l'URL de l'image téléchargée est censé aller dans un champ de saisie de texte.jQuery - envoyer plusieurs URL à plusieurs champs de saisie de texte

Je peux obtenir 1 pour bien fonctionner, mais quand j'ai plusieurs boutons de téléchargement avec plusieurs champs d'entrée l'URL de l'image est envoyée à la dernière entrée de texte seulement.

Voici mon code:

<script type="text/javascript"> 
    //MEDIA UPLOADER 
    jQuery(document).ready(function() { 
     //Opens the upload dialog box when the button is clicked 
     jQuery('#wpsa_slide_<?php echo $slidenumber; ?>_button').click(function() { 
     formfield = jQuery('#wpsa_slide_<?php echo $slidenumber; ?>').attr('name'); 
     tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true'); 
     return false; 
    }); 
    //Sends the uploaded/selected file URL to the text input field 
    window.send_to_editor = function(html) { 
    imgurl = jQuery('img',html).attr('src'); 
    jQuery('#wpsa_slide_<?php echo $slidenumber; ?>').val(imgurl); 
    tb_remove(); 
    } 
}); 
</script> 

Répondre

1
imgurl = jQuery('img',html).attr('src'); 

Ce sélectionne toutes les images dans votre html et obtient l'attribut src de le premier dans cette collection. Probablement le problème est là ...

+0

merci ... est-il possible d'attribuer un ID ou une classe pour le rendre unique ou existe-t-il une meilleure façon de gérer cela? – Nathan

+0

en fait j'obtiens l'URL d'image correcte, mais par exemple si j'ai 3 champs d'entrée, et je veux que l'URL d'image passe le 2ème champ d'entrée, la nouvelle URL est plutôt passée au 3ème ... l'espoir cela a du sens :) – Nathan

+0

Pourriez-vous publier un extrait de votre code html? – mamoo

0
jQuery(document).ready(function() 
{  
    var tbl = document.getElementById('tblSample'); 
    var lastRow = tbl.rows.length+1; 
    var row=0; 
    var click=0; 
    for(var num=0;num<lastRow;num++) 
    { 
     row+=1; 
     jQuery('#upload_image_button'+row).click(function() { 
      formfield = jQuery('#my_meta[image'+row+']').attr('name'); 
      tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true'); 
      click=this.id; 
      return false; 
     }); 
    } 

    window.send_to_editor = function(html) { 
     click = click.substring(19); 
     imgurl = jQuery('img',html).attr('src'); 
     var field = 'upload_image_hide'+click+''; 
     jQuery('#'+field).val(imgurl); 
     tb_remove(); 
    } 

}); 
Questions connexes