我有这个代码,适用于一个CKEditor textarea字段。它会在离开页面之前提醒用户他们的内容已被更改。但是有些页面有多个CKEditor,我想知道如何使用这个JavaScript代码来确认它们。
function beforeUnload( e )
{
if ( CKEDITOR.instances.description.checkDirty() )
return e.returnValue = "You will lose the changes made in the editor.";
}
if ( window.addEventListener )
window.addEventListener( "beforeunload", beforeUnload, false );
else
window.attachEvent( "onbeforeunload", beforeUnload );
描述是textarea的名称,但有些还有其他textarea名称,如products_short_description[1]
或products_description[1]
。我需要找到一种方法将所有CKEditor名称集成到此代码中,因此如果有人对2或3个编辑器中的某个进行了更改,则会相应地向其发出警报。
答案 0 :(得分:4)
只需迭代所有这样的实例:
function beforeUnload( evt ) {
for ( var name in CKEDITOR.instances ) {
if ( CKEDITOR.instances[ name ].checkDirty() )
return evt.returnValue = "You will lose the changes made in the editor.";
}
}