المحتوى في TextAreas تعيين لاستخدام Nicedit لا يتم تحديثه لتعكس تغييرات المستخدم
سؤال
اقبل اعتذاري بسبب انخفاض مستوى اللغة الإنجليزية
أستخدم تحميل صفحة مع 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 textarea
S (عبر المحددات المعقولة) ككائن 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();
}
});