المحتوى في TextAreas تعيين لاستخدام Nicedit لا يتم تحديثه لتعكس تغييرات المستخدم

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

  •  29-09-2019
  •  | 
  •  

سؤال

اقبل اعتذاري بسبب انخفاض مستوى اللغة الإنجليزية

أستخدم تحميل صفحة مع jQuery وأستخدم nicedit في تلك الصفحة وأقوم بنشر البيانات إلى صفحة أخرى مع jQuery. لكنه يرسل فقط قيمة فارغة بدلاً من ما كتبه المستخدم في المحرر (إذا حددت قيمة افتراضية لمنطقة النص الخاصة بي ، فإنه يرسل فقط القيمة الافتراضية وليس النص الذي كتبه المستخدم). ما هي المشكلة وما هو الحل؟

شكرًا.


تحديث بعد القراءة هذه المقالة ذات الصلة وهي تعليقات في النهاية وقراءة مقالات أخرى وجدتها يجب أن تستخدمها بهذه الطريقة قبل وضع النموذج:

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

لهذا أستخدم jQuery لتحديد أي TextArea و Call .each() وظيفة jQuery. فمثلا :

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

هذا يعمل بشكل جيد للنص الذي تم إنشاؤه مسبقًا. لكن لدي بعض النص الذي تم إنشاؤه ديناميكيًا عبر jQuery findEditor() الوظيفة أعلاه لم تجد تلك ولا تتصل saveContent() لأولئك.

لهذه المشكلة ما تقدمه ؟؟؟؟؟؟

TNX

هل كانت مفيدة؟

المحلول

الإجابة الأساسية للعناصر التي تم إنشاؤها ديناميكيًا هي استخدام شيء مثل $('selector').on('click', function(...)) أو whataveyou لربط ديناميكيا بالعمل المشغل ، لديك ذلك 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