Si vous avez quelque chose comme ça dans la configuration de votre datepicker:
onSelect: function() {this.focus(); } onClose: function() {this.focus(); }
Ceci provoque le focus de l'élément, et donc sa validation par le plugin validateur. Malheureusement, dans IE7, cela provoque un bogue lorsque l'événement focus est appelé deux fois et que l'outil datepicker est perturbé et réapparaît.
La solution consiste à ne pas appeler explicitement le validateur sur l'élément, puis de déplacer le focus vers l'élément suivant pour que IE conserve l'ordre de tabulation.
onSelect: function() {
var elementCounter, input, form;
input = $(this);
form = input.parents('form:first');
// validate the selected date
form.validate().element(this);
if ($.browser.msie && $.browser.version < 8) {
// MSIE 7 triggers focus event twice, forcing the datepicker to re-open
// to get around this, we move the focus to the next form element
for (var elementCounter = 0; elementCounter < form[0].elements.length; elementCounter++){
if (form[0].elements[elementCounter].name == input.attr('name')) {
$(form[0].elements[elementCounter+1]).focus();
break;
}
}
} else {
// give focus back to the input element to preserve tabbing
$(this).trigger('focus');
}
},
onClose: function() {
// validate the selected date
$(this).parents('form:first').validate().element(this);
}
ne peut pas accéder à l'URL - Erreur HTTP 403,6 - Interdit: Adresse IP du client a été rejeté. –
Vous n'êtes pas autorisé à afficher cette page – mkoryak
pouvez-vous copier le code approprié sur http://jsbin.com? –