我使用CKeditor允许用户在登录后内联编辑页面上的内容。
我知道我可以使用以下方式访问数据:
var data = CKEDITOR.instances.editable.getData();
但是我不知道如何将数据发送到脚本,因此我可以更新数据库。如果每次有人取消选择contenteditable元素时都运行脚本,那将很酷……但是我不知道那是否有可能。
contenteditable
任何提示都很棒!:)
我的网站是使用php / mysql构建的。
像这样:
CKEDITOR.disableAutoInline = true; CKEDITOR.inline( 'editable', { on: { blur: function( event ) { var data = event.editor.getData(); // Do sth with your data... } } } );
请注意,这不适用于其他交互,例如:用户调用editor.setData()或用户在编辑时关闭了网页。在这种情况下,内容将丢失。如果您是我,我宁愿定期检查新数据:
editor.setData()
CKEDITOR.disableAutoInline = true; var editor = CKEDITOR.inline( 'editable', { on: { instanceReady: function() { periodicData(); } } } ); var periodicData = ( function(){ var data, oldData; return function() { if ( ( data = editor.getData() ) !== oldData ) { oldData = data; console.log( data ); // Do sth with your data... } setTimeout( periodicData, 1000 ); }; })();