2013-06-03 17 views
7

Sono stati lavorando su questo errore per 2 giorni e non è possibile far funzionare TinyMCE. Sto usando la versione jquery di TinyMCE. Di seguito è il mio codice HTML con un modulo che contiene una textarea. Uso Google Inspect Element e nella scheda della console ottengo il seguente errore: "Uncaught ReferenceError: tinymce is not defined". Qualsiasi aiuto sarebbe apprezzato.TinyMCE non è definito Jquery

<form id="add_update_form" action="" method="POST" title="Add Blog"> 

<p class="feedback"></p> 

<!-- <label>Created:</label> 
<input type="text" name="created"> --> 

<label>Title:</label> 
<input type="text" name="title" class="input-block-level"> 

<label>Content:</label> 
<textarea width="100%" rows="10" cols="10" name="content" class="input-block-level"></textarea> 

<div class="clear"></div> 

</form> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> 
<script src="<?php echo base_url();?>js/portal/tinymce/jquery.tinymce.min.js"></script> 
<script type="text/javascript"> 
tinymce.init({ 
selector: "textarea", 
plugins: [ 
    "advlist autolink lists link image charmap print preview anchor", 
    "searchreplace visualblocks code fullscreen", 
    "insertdatetime media table contextmenu paste moxiemanager" 
], 
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" 
}); 
</script> 
+0

Ci sono errori nella console di debug? Inoltre, prova a usare una copia locale di jquery al posto del cdn. – Jasen

+0

Sì, l'errore della console di debug è "Uncaught ReferenceError: tinymce non è definito (funzione anonima)". Ho provato local e cdn senza successo. – gustavo

+0

Il file JS si sta effettivamente caricando? Controlla la scheda di rete negli strumenti di sviluppo nel browser. – Snixtor

risposta

5

Come si utilizza la versione di jQuery è necessario configurarlo come un plugin per jQuery

$(function() { 
    $('textarea.tinymce').tinymce({ 
    ... 
    }); 
}); 

http://www.tinymce.com/tryit/3_x/jquery_plugin.php

+0

Grazie all'errore, non ho capito che dovevo usarlo come un plugin. – gustavo

+1

Sì, la loro documentazione mostra incongruenze – Jasen

2

Sembra che il file js di TinyMCE non sia stato caricato. Invece di:

<script src="<?php echo base_url();?>js/portal/tinymce/jquery.tinymce.min.js"></script> 

Provare quanto segue:

<script src="//cdn.jsdelivr.net/tinymce/4.0b2/jquery/jquery.tinymce.min.js" type="text/javascript"></script> 
+0

Ricevo ancora lo stesso errore. Non sono sicuro del motivo per cui il file jQuery di tinymce non viene caricato. – gustavo

4

Ho dato un'occhiata a questa pagina: http://www.tinymce.com/tryit/3_x/jquery_plugin.php e clic scheda ked "Visualizza sorgente" e notato qualcosa.

Se si utilizza TinyMCE come plugin jQuery, v'è ulteriore parametro richiesto script_url, in modo che il codice dovrebbe apparire come questo:

$('textarea.tinymce').tinymce({ 
    script_url: 'js/portal/tinymce/tinymce.min.js', 
... 

Altra soluzione è quella di utilizzare la versione non-jQuery:

<script src="<?php echo base_url();?>js/portal/tinymce/tinymce.min.js"></script> 

e quindi utilizzare il metodo vecchio init il TinyMCE (come nel vostro codice iniziale):

tinymce.init({ 
    selector: "textarea", 
...