Comment actualiser une page parent après avoir fermé la boîte de dialogue SharePoint? Voici mon code pour ouvrir un pop-up.
<input type="button" value="Add" class="button submit" style="width: 80px" onclick="javascript:OpenAttachmentUpload()" />
<script type="text/javascript">
//User Defined Function to Open Dialog Framework
function OpenAttachmentUpload() {
var strPageURL = '<%= ResolveClientUrl("~/Dialogs/AttachUpload.aspx") %>';
//OpenFixCustomDialog(strPageURL, "Attachment");
OpenCustomDialog(strPageURL, 350, 200, "Attachment");
return false;
}
</script>
voici le script.
function OpenCustomDialog(dialogUrl, dialogWidth, dialogHeight, dialogTitle, dialogAllowMaximize, dialogShowClose) {
var options = {
url: dialogUrl,
allowMaximize: dialogAllowMaximize,
showClose: dialogShowClose,
width: dialogWidth,
height: dialogHeight,
title: dialogTitle,
dialogReturnValueCallback: Function.createDelegate(null, CloseCallback3)
};
SP.UI.ModalDialog.showModalDialog(options);
}
Après l'avoir ouvert, lorsque je ferme la fenêtre contextuelle (~/Dialogs/AttachUpload.aspx), je veux actualiser la page parent. Comment puis-je le faire? Je google et vois SP.UI.ModalDialog.RefreshPage mais je ne trouve toujours pas de réponse pour moi. Merci.
P.s je ne connais pas grand chose à SharePoint.
Tu y es presque.
Dans l'option dialogReturnValueCallback
, vous pouvez définir une fonction qui sera exécutée après la fermeture de la boîte de dialogue. À présent, vous créez un délégué pointant vers CloseCallback3
mais ce n'est pas défini dans votre code.
Si vous appelez SP.UI.ModalDialog.RefreshPage
dans cette méthode de rappel, la page est rafraîchie après la fermeture de la boîte de dialogue avec [~ # ~] ok [~ # ~] .
var options =
{
url: dialogUrl,
allowMaximize: dialogAllowMaximize,
showClose: dialogShowClose,
width: dialogWidth,
height: dialogHeight,
title: dialogTitle,
dialogReturnValueCallback: function(dialogResult)
{
SP.UI.ModalDialog.RefreshPage(dialogResult)
}
}
Btw: Vous utilisez javascript:
dans le onclick
du bouton. Ce n'est pas nécessaire. ceci n'est requis que dans le href
d'une balise a
Vous pouvez également utiliser la fonction intégrée "RefreshOnDialogClose"
SP.UI.ModalDialog.showModalDialog({
url: dialogUrl,
allowMaximize: dialogAllowMaximize,
showClose: dialogShowClose,
width: dialogWidth,
height: dialogHeight,
title: dialogTitle,
dialogReturnValueCallback: RefreshOnDialogClose
});
Essayez d'utiliser ce code en cliquant sur un bouton:
<script type="text/javascript">
function RefreshParent()
{
SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.Ok, null);
}
</script>
Si vous ne souhaitez actualiser la page que si des modifications ont été apportées, vous pouvez utiliser le rappel suivant à la place.
var options =
{
url: dialogUrl,
allowMaximize: dialogAllowMaximize,
showClose: dialogShowClose,
width: dialogWidth,
height: dialogHeight,
title: dialogTitle,
dialogReturnValueCallback: function(dialogResult)
{
if (dialogResult != SP.UI.DialogResult.cancel)
{
SP.UI.ModalDialog.RefreshPage(dialogResult)
}
}
}
Vous évite d'actualiser la page si l'utilisateur clique sur Annuler.
Essayez le code Javascript comme ci-dessous dans Closecallback.
window.location = window.location;