Контент в TextareAs, установленном для использования NiceTit, не обновляясь для отражения пользовательских изменений

StackOverflow https://stackoverflow.com/questions/4107624

  •  29-09-2019
  •  | 
  •  

Вопрос

Принять мои извинения из-за моего низкого уровня английского языка

Я использую для загрузки страницы с помощью jQuery, и я использую на этой странице Neditit, и я публикую наборы на другую страницу с jQuery. Но это просто отправляет пустое значение вместо того, что пользователь написал в редакторе (если я определяю значение по умолчанию для моей текстовой области, он просто отправляет значение по умолчанию, а не текст, написанный пользователем). В чем проблема и в чем решение?

Спасибо.


ОБНОВИТЬ После чтения Эта связанная статья И это комментарии в конце и чтение других статей, которые я нашел, должен использовать этот путь перед отправкой формы:

nicEditors.findEditor('textarea_id').saveContent();

Для этого я использую jQuery, чтобы выбрать любую Textarea и вызов .each() Функция jQuery. Например :

$('textarea').each(function(){
   var IDOfThisTextArea =   $(this).attr('id');
   nicEditors.findEditor(IDOfThisTextArea).saveContent()
});

Это работает нормально для Textarea, которая создала заранее. Но у меня есть немного текста, которая динамически создала через jQuery, что findEditor() Функция выше не нашла их и не звонила saveContent() для тех.

Для этой проблемы то, что вы предлагаете ??????

TNX.

Это было полезно?

Решение

Основной ответ для динамически созданных элементов - использовать что -то вроде $('selector').on('click', function(...)) или что -то, что вы должны динамически связываться с запускающим действием, есть это function тело найдет любое соответствующее .nice-wrapper textareas (через разумные селекторы) в качестве объекта jQuery $textareas, и до выполнения отправки

 $textareas.each(function(){ 
  nicEditors.findEditor(this.id).saveContent();
 });

который затем позволит вам использовать некоторые из удобных методов, таких как .serializeArray. Анкет Очевидно, что есть много разных способов решить эту проблему - например, возможно, вы хотите связаться с событием отправки формы, а не к нажатию на кнопку - но я думаю, что многие (большинство?) Из разумных решений падают в ту же общую категорию.

Другие советы

А как насчет сохранения всех случаев, прежде чем отправить форму

$('input[type=submit]').bind('click', function () {
    for(var i=0;i<nicEditors.nicInstances.length;i++){
        nicEditors.nicInstances[i].saveContent();
    }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top