2010-08-28 5 views
1

J'ai une zone de saisie dans laquelle je souhaite glisser et déposer des liens dans jQuery. Mon objectif serait de cliquer sur le lien glisser/déposer dans la boîte de saisie et de le remplir avec le tag image si c'est un lien vers une image ou la balise href si c'est un lien vers un fichier.Glisser-déposer des liens dans une zone de saisie de formulaire à l'aide de jQuery

Est-ce possible? Quelqu'un peut-il penser à des exemples pour quelque chose comme ça? Le plus de réponses le mieux, alors s'il vous plaît poster ce qui a fonctionné pour vous.

Merci d'avance!

Voici d'autres informations pour les personnes intéressées: La fonctionnalité glisser-déposer repose sur les navigateurs prenant en charge File.API.

Plus d'informations:

http://www.thebuzzmedia.com/html5-drag-and-drop-and-file-api-tutorial/

http://www.w3.org/TR/FileAPI/

Permettez-moi de savoir si cela a été utile et ou si je peux ajouter plus d'informations. Merci a tous!

+0

Donc, vous voulez faire glisser un lien d'une page dans une boîte de saisie sur la même page, et créer une étiquette '' ou '' où? –

+0

J'espérais que le tag serait rempli dans le champ/la boîte de saisie. – chainwork

Répondre

3

Semble assez simple; au moins dans mon navigateur (Chrome) en faisant glisser un lien dans une entrée/zone de texte et en le remplissant avec l'URL que l'ancre référence est la fonctionnalité par défaut; par conséquent, ce qui suit devrait faire le travail.

$("input").change(function() { 
    if($(this).val().substring($(this).val().length-3, $(this).val().length) == 'jpg') { 
    $("a img").attr('src', $(this).val()) 
    } else { 
    $("a").attr('href', $(this).val()) 
    } 
}) 

Il est évident que vous voudriez développer le code pour soutenir d'autres types de fichiers et je suis sûr qu'il ya une meilleure façon de déterminer si l'URL fait référence à une image ou non, mais cela est un bon point de départ.

Si cela ne répond pas exactement à vos besoins, vous pouvez envisager l'événement à lier dans la zone de saisie en question; focus pourrait également être une option viable?

+0

Merci Steve, je vais essayer ce lundi (les doigts croisés). – chainwork

+0

Fonctionne dans FF mais pour une raison quelconque, pas dans IE. J'ai vu une autre question qui stipule IE n'a pas le glisser des liens dans la zone de texte activée. J'ai encore besoin de comprendre comment envelopper les liens dans img src = et chainwork

+0

Je n'ai pas de solution pour obtenir des entrées à remplir à partir d'un glisser dans IE sur le dessus de ma tête. Je vous ai cependant fourni ce dernier à peu près. Mon exemple prend l'hypothèse que vous avez des éléments existants à changer; si vous ne le faites pas, essayez ce qui suit: '$ (" ") .attr ('href', $ (this) .val()). text ($ (this) .val()). appendTo ('body ') '. Cela crée une ancre et l'ajoute ensuite à la balise body de votre page. – Steve

Questions connexes