J'ai une forme qui génère le balisage suivant s'il y a une ou plusieurs erreurs lors de la soumission:Jquery: Comment puis-je déclencher une fenêtre modale juste de l'existence d'un élément
<ul class="memError">
<li>Error 1.</li>
<li>Error 2.</li>
</ul>
Je veux mettre cette élément comme une fenêtre modale qui apparaît après soumettre, à fermer avec un clic. J'ai jquery, mais je ne peux pas trouver le bon événement pour déclencher la fenêtre modale. Voici le script que je utilise, adapté de an example I found here:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$('.memError').load(function() {
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set heigth and width to mask to fill up the whole screen
$('#mask').css({
'width': maskWidth,
'height': maskHeight
});
//transition effect
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow", 0.8);
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
$(id).css('top', winH/2 - $(id).height()/2);
$(id).css('left', winW/2 - $(id).width()/2);
//transition effect
$(id).fadeIn(2000);
});
//if close button is clicked
$('.memError').click(function(e) {
$('#mask').hide();
$('.memError').hide();
});
});
//]]>
</script>
J'ai styles établi pour #mask
et .memError
à peu près identique à la example, mais je ne peux rien apparaître quand je charge le ul.memError
. Je ai essayé d'autres events en essayant de se débrouiller, mais je n'ai pas encore la portée de javascript nécessaire pour cela.
Quelqu'un peut-il me diriger dans la bonne direction?
Voulez-vous que cela se produise après une soumission (donc sur document prêt) ou est-ce une soumission ajax? – redsquare
a ul n'a pas d'événement de chargement d'ailleurs – redsquare
> Voulez-vous que cela se produise après une soumission (donc sur document prêt) ou est-ce un ajax submit? Il s'agit d'une soumission non-ajax, donc sur document prêt. Essentiellement, j'ai juste besoin de le faire si le ul spécifié existe. –