Aynı isimde farklı şekillerde TinyMCE birden çok örneği (jQuery)

2 Cevap php

Ben TinyMCE'd textareas ile aynı ada sahip bir sayfada birkaç farklı formları gönderen bir otomatik kaydetme özelliği uygulamak çalışıyorum.

Benim kod:

function autoSaveEditForms() {
	$("#auto_save_notify").html("Saving...");
	$("#auto_save_notify").show();
$("form[name=editForm]").each(function() {

	if($('input[name="question"]', this).val() == "" || $('textarea[name="answer"]', this).val() == "")
		return;

	$.post("<?php echo $CONFIG->wwwroot; ?>action/faq/edit?autosave=true", $(this).serialize(), function(data) { 

			$("#auto_save_notify").fadeOut(5000);
		});
});

}

Sorun olduğunu $ ('textarea [name = "cevap"]', bu). Val (I sayfada iki formları varsa) değerini değiştirmez. Netleştirmek için, ben iki formları ben textarea yaptığınız değişiklikleri yansıtarak, bunlardan biri için güncellenmiş değeri döndürür, ve ben textareas birine herhangi bir değişiklik yapmak ieif daha sonra (başka birinin orijinal değerini döndürür varsa val () çağrılırken) bu değişiklikleri güncelleme değil.

Bu bir TinyMCE sorun mudur? Yoksa bu başka bir şekilde yapmak için gerekli olan?

Teşekkürler.

Güncelle: TinyMCE textareas kullanılan değilse iyi çalışır.

2 Cevap

Ok got it. Turns out you cannot access the data in the usual jquery way. Initialize TinyMCE in this fashion:

tinyMCE.init({
  mode : "none",
  theme : "advanced"
});

/* call this function in ajax return text */
function makeTinyMCE(faqid) {
	tinyMCE.execCommand('mceAddControl', false, 'answer'+faqid);

}

Daha sonra bu şekilde metni alma:

tinyMCE.editors['answer'+faqid].getContent()

Aynı ada sahip iki form var onun muhtemelen iyi bir fikir değil. Her form için benzersiz bir tanımlayıcı ekleyin:

<form name="myform1">
</form>

<form name="myform2">
</form>

Kod bu o yaşıyor formID geçmek için tetikler olay:

function autoSaveEditForms($formid)