Sur la page AllItems d'une liste, j'ai ajouté un composant WebPart Éditeur de contenu au-dessus de la partie Web qui affiche la liste. Cette partie Web contient uniquement un bouton HTML. Lorsque l'utilisateur clique sur le bouton, tous les éléments de la liste seront traités par plusieurs fonctions JavaScript/jQuery/AJAX. Mais la liste contient plus de 1000 éléments et il n'est pas facile de les informer que le code traite les éléments. D'abord, à des fins de développement, j'ai utilisé des alertes entre les méthodes pour montrer une sorte d'interactivité et fournir des informations à l'utilisateur. Mais maintenant j'utilise la boîte de dialogue jQuery Modal pour montrer à l'utilisateur de manière agréable que le code traite les éléments.Boîte de dialogue modale jQuery non centrée dans SharePoint 2007
La boîte de dialogue est affichée mais elle n'est pas centrée sur l'écran, la barre de titre n'est pas affichée sur toute la largeur de la boîte de dialogue et la superposition gris transparent n'est pas visible. J'ai testé exactement le même code dans une application Web ASP.NET vide et dans ce contexte tout fonctionne bien. J'utilise jQuery 1.8.2 et jQuery UI 1.10.1. est en tout cas voici ce que j'ai:
function showProcessDialog() {
showDialog("Please wait while processing all items...", null);
}
function showDialog(message, dialogButtons) {
$("#messageContainer").text(message);
$('#dialog-message').parent().appendTo($('form:first'));
$("#dialog-message").dialog({
draggable: false,
height: "auto",
modal: true,
open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); },
position: { my: "center", at: "center", of: window },
resizable: false,
width: 400,
buttons: dialogButtons
});
}
Notez cette ligne:
$('#dialog-message').parent().appendTo($('form:first'));
je lis que lorsqu'une page est chargée dans SharePoint 2007, jQuery manipule les DOM et que le div élément qui servira le dialogue est placé à l'extérieur du corps. Le plus gros problème avec ceci est qu'aucun contrôle côté serveur dans la boîte de dialogue ne fonctionnera plus et cette ligne replace la div dans le formulaire. Je l'ai laissé là-bas parce que vous ne savez jamais ...
Ceci est le résultat de l'application Web ASP.NET:
Et c'est le même code dans SharePoint 2007:
Est-ce que quelqu'un sait comment je peux résoudre cela pour que le résultat soit le même que celui qui fonctionne? Merci d'avance!
Le problème est que je ne peux pas utiliser une version inférieure de jQuery/UI. Il y a d'autres morceaux de code qui dépendent de la version que j'utilise ... – Abbas