Contenuti in textareas impostato per utilizzare nicEdit non aggiornare per riflettere le modifiche degli utenti

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

  •  29-09-2019
  •  | 
  •  

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

È stato utile?

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 textareas 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();
    }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top