Я читал похожие вопросы по этой проблеме и смог получить довольно далеко, но, по-видимому, моя ситуация немного отличается, поэтому я все еще пытаюсь понять это.Сохранение редактора tinymce с AJAX и JQuery
У меня есть форма, в которой есть текстовые поля, оформленные с помощью редактора Tinymce html. Я бы хотел, чтобы textarea автоматически работала с AJAX.
Я работаю с кодом, который сохраняет текстовое поле, основанный на временном интервале:
$(document).ready(function() {
$(function() {
// Here we have the auto_save() function run every 30 secs
// We also pass the argument 'editor_id' which is the ID for the textarea tag
setInterval("auto_save('editor_id')",30000);
});
});
// Here is the auto_save() function that will be called every 30 secs
function auto_save(editor_id) {
// First we check if any changes have been made to the editor window
if(tinyMCE.getInstanceById(editor_id).isDirty()) {
// If so, then we start the auto-save process
// First we get the content in the editor window and make it URL friendly
var content = tinyMCE.get(editor_id);
var notDirty = tinyMCE.get(editor_id);
content = escape(content.getContent());
content = content.replace("+", "%2B");
content = content.replace("/", "%2F");
// We then start our jQuery AJAX function
$.ajax({
url: "PAFormAJAX.asp", // the path/name that will process our request
type: "POST",
data: "itemValue=" + content,
success: function(msg) {
alert(msg);
// Here we reset the editor's changed (dirty) status
// This prevents the editor from performing another auto-save
// until more changes are made
notDirty.isNotDirty = true;
}
});
// If nothing has changed, don't do anything
} else {
return false;
}
}
Это работает, но моя проблема в том, что элементы формы создаются динамически, так что я не всегда имеют статические editor_id о том, что я могу использовать. Как я могу его обновить, чтобы принимать динамические идентификаторы?
Например, вот один из прокручиваемых с это идентификатором динамично устанавливается с ASP:
<textarea id="Com<%=QuesID%>" row= "1" cols= "120" name="Com<%=QuesID%>" QuesID="<%=QuesID%>" wrap tabindex="21" rows="10" class="formTxt"><%=TempTxt%></textarea>
Кроме того, я пытаюсь выяснить способ не только вызывают функцию сохранения на интервал времени , но когда пользователь щелкает из текстового поля и теряет фокус. Я не уверен, как это сделать, поскольку TinyMce, по-видимому, меняет его из текстового поля в iframe.
Любая помощь очень ценится.
Кроме того, я имел в виду, чтобы включить этот вопрос в моей должности. Есть ли способ ссылаться на атрибуты, которые я помещал в тег textarea в моей функции сохранения? В примере с текстовой областью, которую я дал, я хотел бы иметь QuesID, когда save вызывается в редакторе. Я не уверен, как это назвать. – Cineno28