考え方は簡単です。新しいリスト アイテムを作成できる Web パーツ ページを SP Designer 2010 で作成し、CSOM の JavaScript を使用して、別のページからモーダル ダイアログでページをポップします。問題は、ダイアログ ボックスが表示され、コンテンツを読み込んでいることを示す短い点滅が表示されますが、その後消えて、クリックしたばかりのページの更新されたバージョンが残ることです。これが私のコードです。. .
//attach a click delegate to the table containing the following button(s)
<button type='button' class='ms-listheaderlabel'>Close</button>
//on button clicked event, call the following function
function openModalDialog(dialogPage, closeCallback) {
var options = [];
options.title = unescape("Close Ticket");
options.allowMaximize = true;
options.showClose = true;
options.autoSize = true;
options.url = dialogPage;
options.dialogReturnValueCallback = Function.createDelegate(null, closeCallback);
SP.UI.ModalDialog.showModalDialog(options);
};
. . . ここで、dialogPage は作成したフォームの URL (同じサイト、SitePages ライブラリ) で、closeCallback はダイアログからの戻り値を処理するために渡される匿名関数です。ページを直接呼び出してみましたが、問題なく読み込まれます。ポップアップ ブロッカーは完全にオフです。IE9を使用して、8互換モードと、ストレートIE8を備えた別のマシンを試しました。システムモーダルは問題なく動作します。そこに何かアイデアはありますか?