SharePointダイアログを閉じた後に親ページを更新する方法は?これがポップアップを開くための私のコーディングです。
<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>
これがスクリプトです。
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);
}
それを開いた後、ポップアップを閉じると(〜/ Dialogs/AttachUpload.aspx)、親ページを更新したいと思います。どうすればできますか?私はグーグルでSP.UI.ModalDialog.RefreshPageと表示しますが、それでも答えが見つかりません。ありがとう。
追記SharePointについてはあまり知りません。
あと少しです。
オプションdialogReturnValueCallback
では、ダイアログが閉じられた後に実行される関数を定義できます。ここまでで、CloseCallback3
を指すデリゲートを作成しましたが、これはコードで定義されていません。
このコールバックメソッドでSP.UI.ModalDialog.RefreshPage
を呼び出すと、ダイアログが閉じられた後にページが更新されます[〜#〜] ok [〜#〜]。
var options =
{
url: dialogUrl,
allowMaximize: dialogAllowMaximize,
showClose: dialogShowClose,
width: dialogWidth,
height: dialogHeight,
title: dialogTitle,
dialogReturnValueCallback: function(dialogResult)
{
SP.UI.ModalDialog.RefreshPage(dialogResult)
}
}
Btw:ボタンのonclick
でjavascript:
を使用します。これは必要ありません。これは、href
タグのa
でのみ必要です
組み込み関数 "RefreshOnDialogClose"を使用することもできます
SP.UI.ModalDialog.showModalDialog({
url: dialogUrl,
allowMaximize: dialogAllowMaximize,
showClose: dialogShowClose,
width: dialogWidth,
height: dialogHeight,
title: dialogTitle,
dialogReturnValueCallback: RefreshOnDialogClose
});
ボタンをクリックしてこのコードを使用してみてください:
<script type="text/javascript">
function RefreshParent()
{
SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.Ok, null);
}
</script>
変更が加えられた場合にのみページを更新したい場合は、代わりに次のコールバックを使用できます。
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)
}
}
}
ユーザーがキャンセルをクリックした場合にページを更新しないようにします。
Closecallバックで以下のJavaスクリプトコードを試してください。
window.location = window.location;