Sortable et sauvegarde php/mysql
Bonjour à tous
j'ai besoin d'ordonner les élements d'une liste et de sauvegarder le tout dans une bdd.
comme d'habitude aucun problème dans firefox mais dès qu'il s'agit d'ie ca veut plus
j'ai adapté le script de démo de scriptaculous dont voici le code
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 26 27 28 29
| <script type="text/javascript" language="javascript" charset="utf-8">
// <![CDATA[
function doWork(liste,idgroupe){
httpObject = getRequete();
if (httpObject != null) {
httpObject.open("GET", "../module/bandeau/modif_ordre.php?id="+idgroupe+"&"+liste, true);
httpObject.send(null);
httpObject.onreadystatechange = setOutput;
Sortable.destroy('bandeau');
}
}
function setOutput(){
if(httpObject.readyState == 4){
if(httpObject.responseText!="")
$('zone_liste_bandeau').innerHTML=httpObject.responseText;
Sortable.create('bandeau',{ghosting:true,constraint:false,
onUpdate:function(sortable){doWork(Sortable.serialize(sortable),<?php echo $_GET['id']; ?>)},
onChange:function(element){$('sep_titre').innerHTML = Sortable.serialize(element.parentNode)}
});
}
}
Sortable.create('bandeau',{ghosting:true,constraint:true,
onUpdate:function(sortable){doWork(Sortable.serialize(sortable),<?php echo $_GET['id']; ?>)},
onChange:function(element){$('sep_titre').innerHTML = Sortable.serialize(element.parentNode)}
});
// ]]>
</script> |
qui interagit biensur avec une liste de ce type plu haut dans la page
Code:
1 2 3 4 5 6 7 8
| <ul id="bandeau" name="banceau" class="testlist">
<li id="item_0" name="item_0">cont 1</li>
<li id="item_1" name="item_1">cont 3</li>
<li id="item_3" name="item_3">cont 2</li>
<li id="item_4" name="item_4">cont 4 du bidul</li>
<li id="item_5" name="item_5">cont 5</li>
</ul> |
Si on ne met pas la partie:
Code:
onChange:function(element){$('sep_titre').innerHTML = Sortable.serialize(element.parentNode)
le code marche très bien sous FF
si on la met de cette manière certe une div nommé sep_titre est mise à jour, tout continue de marcher sous ff, mais si on applique la fonction de cette manière
Code:
onChange:function(element){doWork(Sortable.serialize(sortable),<?php echo $_GET['id']; ?>)}
on ne peut faire le drag qu'une fois et après ca sélection el texte au lieu de drag.
Si vosu avez une idée je suis prenneur...
merci d'avance