[drag drop] donner des propriétés à un élément ?
Bonjour
Mon but est de faire un drag & drop.
Pour cela il existe pleins de librairies, j'en ai testé 2-3, j'arrive à faire des choses. Mais quelque soit celle que j'utilise, je suis face à la même problématique : comment exploiter les id des éléments droppés....(D'ailleurs c'est une question plus générales, qui n'a même rien à voir avec le drag & drop finalement // mais qui me serait diablement utile.)
En quelques mots le code se resume souvent à ce principe, ceci quelque soit la librairie utilisée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
// les elements draggables
<div id="elementDraggable1">bblabalabl</div>
<div id="elementDraggable2">bblabalabl</div>
//et dun autre côté des zones droppables
<div id="zoneDrop1">bblabalabl</div>
// init du moteur de drag drop
Drag.add(elementDraggable1);
Drag.add(elementDraggable2);
Drop.add(zoneDrop1, functionQuiVaEtreAppelerQuandUnElementEstDroppeDessus);
// que fait cette fameuse fonction ?
function functionQuiVaEtreAppelerQuandUnElementEstDroppeDessus(IdelementDroppe)
{
alert('IdelementDroppe a été drag-droppé ');
} |
Ceci est fonctionnel.
Maintenant mon problème : Que faire de cet ID, comment l'exploiter....
Est-ce qu'il y a moyen en javascript de donner des attributs quelconques à une div ? (un tag personnalisé) ?
genre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
<div id="draggable1" attributs="categorie-5/compteur-10/produit-5050/idBdd-99555">Zone draggable1 </div>
function onDrop(idElementDroppe)
{
// recuprer tous nos tags speciaux
valeursPerso = getElementbyId(idElementDroppe).getAttributs();
data = fonction_genre_explode("/",valeursPerso );
// puis là- avoir les attributs et en faire ce qu'on veut
if (data[categorie] == "5")
alert('cet element na pas le doit detre drag& droppé ici')
if (data[categorie] == "4")
Appeler_sauvegarder_base_de_donnees_ajax(data[produit],data[categorie],data[compteur])
if (data[categorie == "2"])
window.location = 'voir_profil_user.php?id=data[user]'
// etc // etc // etc.
} |
voilà je pense que vous avez compris mon problème. Avec un id d'un composant html, ça ne m'avance pas trop....il me faut des id de base de données des objets déplacés
Est-ce possible ? Sinon comment faire de façon propre....
La seule solution que j'ai en tête pour l'instant c'est de faire
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<div id="objetDraggale_JE CONCATENE_TOUTES_LESINFOS_LA_DEDANS">blablablaba</div>
function on drop(IdDroppe)
{
numeroSerie = subString(idDroppé , 0 ,8 );
autreInfos = subString(idDroppé,9,2 );
EncoreUneAutreInfos = subString(idDroppé,12,6 );
appeler script php (numeroSerie ,autreInfos ,EncoreUneAutreInfos )
} |
Mais ça me semble très mauvais. Comment faire ?
Merci !