Contenuti in textareas impostato per utilizzare nicEdit non aggiornare per riflettere le modifiche degli utenti
Domanda
Accettare la mia scusa per il mio basso livello di inglese
Io uso per caricare una pagina con jQuery e uso nicEdit in quella pagina e inserisco dati a un'altra pagina con jQuery. Ma basta inviare valore vuoto al posto di ciò che l'utente ha scritto nel redattore (se mi definisco un valore predefinito per la mia zona di testo, è sufficiente inviare il valore di default non il testo scritto dall'utente). Qual è il problema e qual è la soluzione?
Grazie.
UPDATE Dopo aver letto questo articolo correlato ed è commenti alla fine e la lettura di altri articoli ho trovato deve utilizzare in questo modo prima submiting formare:
nicEditors.findEditor('textarea_id').saveContent();
Per questo utilizzare jQuery i per selezionare qualsiasi funzione .each()
jquery textarea e call. Ad esempio:
$('textarea').each(function(){
var IDOfThisTextArea = $(this).attr('id');
nicEditors.findEditor(IDOfThisTextArea).saveContent()
});
Questo bel lavoro per textarea che ha creato in precedenza. Ma ho qualche textarea che ha creato dinamicamente tramite jQuery che la funzione findEditor()
di cui sopra non ha trovato quelle e non saveContent()
chiamata per quelli.
Per questo problema che cosa offrite ??????
TNX
Soluzione
La risposta di base per gli elementi creati dinamicamente è quello di utilizzare qualcosa come $('selector').on('click', function(...))
o whathaveyou di legarsi in modo dinamico al di trigger, hanno quel corpo function
trovare nessuna .nice-wrapper textarea
s rilevanti (tramite selettori sensibile) come un oggetto $textareas
jQuery, e prima per l'esecuzione l'Invia
$textareas.each(function(){
nicEditors.findEditor(this.id).saveContent();
});
che poi permetterà di utilizzare alcuni dei metodi di convenienza come .serializeArray
. Ovviamente, ci sono molti modi diversi per risolvere questo problema - per esempio, forse si desidera associare all'evento inviare il modulo invece che a un clic su un pulsante - ma mi piacerebbe pensare molti (la maggior parte?) Delle soluzioni sensate cadono nella stessa categoria generale.
Altri suggerimenti
Che dire di salvare tutte le istanze in questo modo prima di inviare il modulo
$('input[type=submit]').bind('click', function () {
for(var i=0;i<nicEditors.nicInstances.length;i++){
nicEditors.nicInstances[i].saveContent();
}
});