Ik heb met javascript het ondertussen totaal niet orginele 'drag en drop' script om de volgorde te veranderen, zelf nagemaakt. (niet vragen waarom of zeggen wiel opnieuw uitvinden = onzin, daar vraag ik niet om.
Werkt prima, echter kom ik met 1 probleem. De volgorde van de velden klopt niet.
Op het moment heb ik maar 1 veld, voor het ID, echter later zullen hier mogelijk per 'rij' meerdere instaan. Ik maak gebruik van [] in de namen om later server-side een array te ontvangen.
De positie van het element verander ik waarschijnlijk totaal fout, namelijk door gewoon de Node opnieuw te appenden (niet opnieuw aanmaken/clonen dus). insertBefore, insertAfter (custom) en appendChild gebruik ik hier dus voor.
Het liefste geef ik geen voorbeeld ivm gevoelige informatie, en daarnaast is hij momenteel Safari only.

Volgorde: 1,2,3,4,5 (standaard volgorde dus, onaangepast)
Als ik vervolgende de 5 boven de 1 sleep, zou je dus verwachten 5,1,2,3,4 (wat je ook -ziet-). Maar in dit geval blijft bij 5 voor 1 de volgorde onveranderd. Soms veranderd de volgorde na veel gespeel, maar dan is hij alsnog fout.
Ik hoop dat het duidelijk genoeg omschreven is, en dat iemand me hiermee kan helpen, ik zit er al bijna een week op vast.
- update
test script
Ik ga ervan uit dat hier toch omgevraagd heb, dus heb even de basis werking apart gemaakt, en levert hetzelfde resultaat (helaas). Ik weet zeker dat ik het fout doe (ja ik zelf), maar ik zou graag willen horen hoe ik dit dan -goed- doe.
Je zou visueel moeten zien 312, maar bij het verzenden is het nog 123.
Werkt prima, echter kom ik met 1 probleem. De volgorde van de velden klopt niet.
Op het moment heb ik maar 1 veld, voor het ID, echter later zullen hier mogelijk per 'rij' meerdere instaan. Ik maak gebruik van [] in de namen om later server-side een array te ontvangen.
De positie van het element verander ik waarschijnlijk totaal fout, namelijk door gewoon de Node opnieuw te appenden (niet opnieuw aanmaken/clonen dus). insertBefore, insertAfter (custom) en appendChild gebruik ik hier dus voor.
Het liefste geef ik geen voorbeeld ivm gevoelige informatie, en daarnaast is hij momenteel Safari only.

Volgorde: 1,2,3,4,5 (standaard volgorde dus, onaangepast)
Als ik vervolgende de 5 boven de 1 sleep, zou je dus verwachten 5,1,2,3,4 (wat je ook -ziet-). Maar in dit geval blijft bij 5 voor 1 de volgorde onveranderd. Soms veranderd de volgorde na veel gespeel, maar dan is hij alsnog fout.
Ik hoop dat het duidelijk genoeg omschreven is, en dat iemand me hiermee kan helpen, ik zit er al bijna een week op vast.
- update
test script
Ik ga ervan uit dat hier toch omgevraagd heb, dus heb even de basis werking apart gemaakt, en levert hetzelfde resultaat (helaas). Ik weet zeker dat ik het fout doe (ja ik zelf), maar ik zou graag willen horen hoe ik dit dan -goed- doe.
JavaScript:
1
2
3
4
5
6
7
8
| window.onload = function( ){ var c = document.getElementById( 'container' ); var een = document.getElementById( 'een' ); var twee = document.getElementById( 'twee' ); var drie = document.getElementById( 'drie' ); c.insertBefore( drie , een ); } |
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <form action="echo.php" method="post"> <div id="container"> <div id="een"> <input type="text" value="1" name="test[]" /> </div> <div id="twee"> <input type="text" value="2" name="test[]" /> </div> <div id="drie"> <input type="text" value="3" name="test[]" /> </div> </div> <input type="submit" /> </form> |
Je zou visueel moeten zien 312, maar bij het verzenden is het nog 123.
[ Voor 27% gewijzigd door semicolon op 11-10-2006 19:36 ]
:D/-<