[gelöst]Text in Textfeldern auch nach Seiten neuladen nicht mehr da.
am 19.09.2012 - 11:48 Uhr in
Ich habe folgendes Problem: Ich gebe in meine Textfelder ein entsprechenden Text ein und möchte, dass dieser auch beim neuladen der Seite oder wenn Ich ausversehen den Tab schließe noch da ist. Wie realisiere ich das?
Mfg Leagis
- Anmelden oder Registrieren um Kommentare zu schreiben

Vielleicht ist das ein Lösung
am 19.09.2012 - 12:58 Uhr
Vielleicht ist das ein Lösung für Dich: http://drupal.org/project/autosave
Hrm, der Vorschlag ist nicht
am 19.09.2012 - 17:08 Uhr
Hrm, der Vorschlag ist nicht schlecht, aber irgendwie ist nicht das Inhaltsfeld da, sondern nur der Betreff bleibt da o0
http://drupal.org/project/nod
am 20.09.2012 - 05:00 Uhr
http://drupal.org/project/node_edit_protection
Leagis schrieb Hrm, der
am 20.09.2012 - 08:40 Uhr
Hrm, der Vorschlag ist nicht schlecht, aber irgendwie ist nicht das Inhaltsfeld da, sondern nur der Betreff bleibt da o0
Es scheint Probleme mit WYSIWYG-Editoren zu geben. Welchen benutzt Du? CKEditor? Dann schau mal hier rein: http://drupal.org/node/1425894
Ich benutze als Modul Wysiwyg
am 20.09.2012 - 13:51 Uhr
Ich benutze als Modul Wysiwyg 7.x-2.1 mit dem CKEditor. Hab mal getestet:
Full HTML mit CKEditor = wird nicht gespeichert
Plain Text ohne CKEditor = gespeichert
Plain Text mit CKEditor = nicht gespeichert.
Ich hab mal den "gepatcheten" Code angehängt, vllt hab ich es ja auch falsch implementiert?
Oder gilt der Fix nur für das Modul CKEditor ?
(function ($) {
var showingRestoreCommand;
Drupal.behaviors.autosave = {
attach: function (context, settings) {
var autosaveSettings;
if ($('#autosave-status').size() == 0) {
// Add a div for us to put messages in.
$('body').append('<div id="autosave-status"><span id="status"></span></div>');
}
autosaveSettings = settings.autosave;
$('#' + autosaveSettings.formid).not('.autosave-processed').addClass('autosave-processed').autosave({
interval: autosaveSettings.period * 1000, // Time in ms
url: autosaveSettings.url,
setup: function (e, o) {
var ignoreLink, restoreLink, callbackPath;
// If there is a saved form for this user, let him know so he can reload it
// if desired.
if (autosaveSettings.savedTimestamp) {
showingRestoreCommand = true;
ignoreLink = $('<a>').attr('href', '#').attr('title', Drupal.t('Ignore/Delete saved form')).html(Drupal.t('Ignore')).click(function (e) {
Drupal.behaviors.autosave.hideMessage();
return false;
});
callbackPath = Drupal.settings.basePath + 'autosave/restore/' + autosaveSettings.formid + '/' + autosaveSettings.savedTimestamp + '/' + autosaveSettings.formToken;
restoreLink = $('<a>').attr('href', callbackPath).addClass('use-ajax').attr('title', Drupal.t('Restore saved form')).html(Drupal.t('Restore')).click(function (e) {
Drupal.behaviors.autosave.hideMessage();
});
Drupal.behaviors.autosave.displayMessage(Drupal.t('This form was autosaved on ' + autosaveSettings.savedDate), {
// Show the message for 30 seconds, or hide it when the user starts
// editing the form.
timeout: 30000,
extra: $('<span id="operations">').append(ignoreLink).append(' - ').append(restoreLink)
});
}
// Wire up TinyMCE to autosave.
if (typeof(tinymce) !== 'undefined') {
setInterval(function() {
// Save text data from the tinymce area back to the original form element.
// Once it's in the original form element, autosave will notice it
// and do what it needs to do.
// Note: There seems to be a bug where after a form is restored,
// everything works fine but tinyMCE keeps reporting an undefined
// error internally. As its code is compressed I have absolutely no
// way to debug this. If you can figure it out, please file a patch.
var triggers = Drupal.settings.wysiwyg.triggers;
var id;
var field;
for (id in triggers) {
field = triggers[id].field;
$('#' + field).val(tinymce.get(field).getContent());
}
}, autosaveSettings.period * 1000);
}
// Wire up Ckeditor to autosave.
if (typeof(CKEDITOR) !== "undefined") {
setInterval(function() {
var fields = Drupal.settings.ckeditor.elements;
var field;
for (field in fields) {
if (CKEDITOR.instances[field] != undefined) {
$('#' + field).val( CKEDITOR.instances[field].getData() );
}
}
}, autosaveSettings.period * 1000);
}
},
save: function (e, o) {
Drupal.behaviors.autosave.displayMessage(Drupal.t('Form autosaved.'));
},
dirty: function (e, o) {
if (showingRestoreCommand) {
Drupal.behaviors.autosave.hideMessage();
}
}
});
},
hideMessage: function() {
$('#autosave-status').fadeOut('slow');
},
displayMessage: function(message, settings) {
settings = settings || {};
settings.timeout = settings.timeout || 3000;
settings.extra = settings.extra || '';
//settings = $.extend({}, {timeout: 3000, extra: ''}, settings);
var status = $('#autosave-status');
status.empty().append('<span id="status">' + message + '</span>');
if (settings.extra) {
status.append(settings.extra);
}
Drupal.attachBehaviors(status);
$('#autosave-status').slideDown();
setTimeout(Drupal.behaviors.autosave.hideMessage, settings.timeout);
}
}
})(jQuery);
Ich hab jetzt den Editor auf
am 20.09.2012 - 19:18 Uhr
Ich hab jetzt den Editor auf TinyMCE umgestellt und alles funktioniert.