J'ai une liste de cases à cocher et un bouton d'image avec un événement OnClick dans ma page. En cliquant sur le bouton d'image, on effectue un retour arrière et l'événement OnClick fonctionne bien.
Le problème est que je veux déplacer le div pour qu'il soit le premier enfant de l'élément <form>
afin que je puisse le faire apparaître dans une fenêtre modale - j'ai fait cela en utilisant le code prototype.js...
document.observe("dom:loaded", function() {
if ($$('.CheckboxListContainer').length>0) {
var modalShadow = document.createElement('div');
modalShadow.setAttribute( "class", 'MyFormModalShadow' );
modalShadow.style.width = document.viewport.getWidth() + 'px';
modalShadow.style.height = document.viewport.getHeight() + 'px';
var modalDiv = document.createElement('div');
modalDiv.setAttribute( "class", 'MyFormModal' );
var checkboxesDiv = $$('.CheckboxListContainer')[0];
checkboxesDiv.remove();
modalDiv.appendChild( checkboxesDiv );
$$('form')[0].insert( {top: modalShadow} );
$$('form')[0].insert( {top: modalDiv} );
Event.observe(window, "resize", function() {
if ($$('.MyFormModalShadow').length>0) {
var modalShadow = $$('.MyFormModalShadow')[0]
modalShadow.style.width = document.viewport.getWidth() + 'px';
modalShadow.style.height = document.viewport.getHeight() + 'px';
}
});
}
});
... ce qui fonctionne bien, mais l'ImageButton ne déclenche plus mon événement OnClick lors du retour en arrière.
Existe-t-il un moyen de déplacer mon div dans le DOM tout en conservant ses capacités de postback ?