Refresh publishing page on modal form submit in SharePoint Online
Question
I have a publishing page with a button users can click to launch a new list item form in a modal pop-up. It works great but I'm trying to add a page refresh after they click Save so they can see their posting and not end up re-submitting it. If they close it without saving the page should not refresh.
Here's what I've put together so far. It opens the form and posts the new list item just fine. It's only the page refresh that's not working. What am I missing?
<script>
var formOptions(pageUrl) = {
url: pageUrl,
title: 'Post New Classified',
allowMaximize: false,
showClose: true,
dialogReturnValueCallback: function(result){
if (result == SP.UI.DialogResult.Save) {
SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.Save);
}
if (result == SP.UI.DialogResult.cancel) {
//do nothing, modal was closed
}
}
};
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', formOptions);
</script>
<p align="center">
<a href="#" class="btn btn-primary" role="button" target="_self" data-toggle="tooltip" data-placement="bottom" title="Post a New Classified" style="font-weight: bold; color: #ffffff !important;" onclick="openDialog('https://mysite.sharepoint.com/testing/Lists/Classifieds/NewForm.aspx');">Post a New Classified</a>
</p>
Solution
Try to use window.location.reload();
in the IF condition to refresh the page
Example
dialogReturnValueCallback: function(result){
if (result == SP.UI.DialogResult.Ok) {
window.location.reload();
}
if (result == SP.UI.DialogResult.cancel) {
//do nothing, modal was closed
}
}
Also, this should work
dialogReturnValueCallback: function(result){
if (result == SP.UI.DialogResult.Ok) {
SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);
}
if (result == SP.UI.DialogResult.cancel) {
//do nothing, modal was closed
}
}
Check also Open a Link Via Modal Dialog In SharePoint.
Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange