edit: Het is opgelost, kleine aanpassing in effects.js was nodig...
Beste,
Voor mijn werk (naam en opdrachtgever achterwege latende), ben ik bezig met een enquêtemanager.
Deze enquêtemanager werkt door middel van Drag&Drop, met de Sortable van Scriptaculous.
Er zijn 2 Sortables gemaakt, één voor de diverse vragen (links), en één voor de enquête zelf (rechts).
Dit werkt nu prima, ik kan vragen slepen naar het rechtervak en de vraag wordt opgebouwd. Maar in Internet Explorer werkt het maar 1 keer. De vraag erin slepen werkt perfect, maar hierna kan ik de vragen niet meer slepen, van beide Sortables niet.
Hier volgende de 2 stukjes code waarmee ik de Sortables aanmaak:
Soort vragen
[code=js]
Sortable.create('draggables',{'containment':['none'],'handle':'newQuestion','tag':'div','revert':true, 'scroll':window,'constraint':false,'dropOnEmpty':false,'scrollSensivity':200});
[/code]
Enquêtemanager vragen
[code=js]
Sortable.create('droparea',{'containment':['droparea','draggables'],'handle': 'newQuestion','tag':'div','scroll':window,'dropOnEmpty':true,'constraint':'vertical','scrollSensivity':200,
'onUpdate':function(ele){
if(tijdelijk.indexOf('#') < 0) {
$('debugarea').update();
add($(tijdelijk),$(tijdelijk).rel);
}
$('draggables').update(buildQuestions());
Sortable.create('draggables',{'containment':['none'],'handle':'newQuestion','tag':'div','revert':true, 'scroll':window,'constraint':false,'dropOnEmpty':false,'scrollSensivity':200});
Vragen = rebuildArray(Vragen);
},
'onChange': function(type) {
tijdelijk = type.id;
var i =0;
$('droparea').childElements().each(function(ele) {
if(ele.id == type.id) {
ele.rel = i;
}
i++;
});
}});
[/code]
De functie buildQuestions() zorgt er alleen voor dat de vraag die zojuist erin is gesleept weer wordt hersteld, zodat alle vragen er nog steeds staan.
De functie rebuildArray() zorgt dat de Array die gebruikt wordt voor de vragen in de goede volgorde staat.
De if met de # erin is om het verschil tussen een nieuw ingesleept vraag aan te geven of dat het een al bestaande vraag te herschikken.
In ele.rel komt de plek te zitten van de vraag die je op dat moment nog beet hebt.
Zowel Firebug, als alle browser consoles die ik verder ken geven niks aan. Op strict geeft Firebug wel veel warnings, maar voor zover ik weet krijg je die altijd met Scriptaculous/Prototype. Voor de zekerheid hier de laatste paar toch bijgezet.
[code=js]reference to undefined property $(e).select("." + options.handle)[0]
(options.handle ? $(e).select('.' + options.handle)[0] : e);
dragdrop.js (regel (717)
reference to undefined property arguments[1].endeffect
if(!arguments[1] || Object.isUndefined(arguments[1].endeffect))
dragdrop.js (regel (256)
reference to undefined property o[eventName]
function(o) { return o[eventName]; }
dragdrop.js (regel (219)[/code]
Aangezien er nog geen informatie kan worden losgelaten kan ik geen link naar de test omgeving geven.
Beste,
Voor mijn werk (naam en opdrachtgever achterwege latende), ben ik bezig met een enquêtemanager.
Deze enquêtemanager werkt door middel van Drag&Drop, met de Sortable van Scriptaculous.
Er zijn 2 Sortables gemaakt, één voor de diverse vragen (links), en één voor de enquête zelf (rechts).
Dit werkt nu prima, ik kan vragen slepen naar het rechtervak en de vraag wordt opgebouwd. Maar in Internet Explorer werkt het maar 1 keer. De vraag erin slepen werkt perfect, maar hierna kan ik de vragen niet meer slepen, van beide Sortables niet.
Hier volgende de 2 stukjes code waarmee ik de Sortables aanmaak:
Soort vragen
[code=js]
Sortable.create('draggables',{'containment':['none'],'handle':'newQuestion','tag':'div','revert':true, 'scroll':window,'constraint':false,'dropOnEmpty':false,'scrollSensivity':200});
[/code]
Enquêtemanager vragen
[code=js]
Sortable.create('droparea',{'containment':['droparea','draggables'],'handle': 'newQuestion','tag':'div','scroll':window,'dropOnEmpty':true,'constraint':'vertical','scrollSensivity':200,
'onUpdate':function(ele){
if(tijdelijk.indexOf('#') < 0) {
$('debugarea').update();
add($(tijdelijk),$(tijdelijk).rel);
}
$('draggables').update(buildQuestions());
Sortable.create('draggables',{'containment':['none'],'handle':'newQuestion','tag':'div','revert':true, 'scroll':window,'constraint':false,'dropOnEmpty':false,'scrollSensivity':200});
Vragen = rebuildArray(Vragen);
},
'onChange': function(type) {
tijdelijk = type.id;
var i =0;
$('droparea').childElements().each(function(ele) {
if(ele.id == type.id) {
ele.rel = i;
}
i++;
});
}});
[/code]
De functie buildQuestions() zorgt er alleen voor dat de vraag die zojuist erin is gesleept weer wordt hersteld, zodat alle vragen er nog steeds staan.
De functie rebuildArray() zorgt dat de Array die gebruikt wordt voor de vragen in de goede volgorde staat.
De if met de # erin is om het verschil tussen een nieuw ingesleept vraag aan te geven of dat het een al bestaande vraag te herschikken.
In ele.rel komt de plek te zitten van de vraag die je op dat moment nog beet hebt.
Zowel Firebug, als alle browser consoles die ik verder ken geven niks aan. Op strict geeft Firebug wel veel warnings, maar voor zover ik weet krijg je die altijd met Scriptaculous/Prototype. Voor de zekerheid hier de laatste paar toch bijgezet.
[code=js]reference to undefined property $(e).select("." + options.handle)[0]
(options.handle ? $(e).select('.' + options.handle)[0] : e);
dragdrop.js (regel (717)
reference to undefined property arguments[1].endeffect
if(!arguments[1] || Object.isUndefined(arguments[1].endeffect))
dragdrop.js (regel (256)
reference to undefined property o[eventName]
function(o) { return o[eventName]; }
dragdrop.js (regel (219)[/code]
Aangezien er nog geen informatie kan worden losgelaten kan ik geen link naar de test omgeving geven.
Canon EOS60D | Canon 100mm f/2.8 USM | Canon 100-400mm f/4.5-5-6L | Canon 10-22mm f/3.5-4.5 USM | Canon 430EX II