[javascript] de value van een tinyMCE textarea verkrijgen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi iedereen,

Ik zou graag alvorens mijn tinyMCE-textarea te posten, het willen checken met javascript of het niet leeg is. Het id van die textarea heet dus "tinyMCE" en het is duidelijk dat ik daar de value niet van kan aflezen. Nu heb ik al begrepen dat ik er wel aan zou moeten kunnen, maar dat het diep ingebed zit in de tinyMCE library. Hoe kan ik de juiste id aanwijzen om de value te kunnen aflezen?

Ik besef dat dit een nogal vrij directe vraag is en dat die snel op slot gaan, maar ik heb echt geen idee waar ik moet beginnen. De wiki search van tinyMCE vond bv al niets op "value".

Alvast heel hard bedankt.. :)
Danny

Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 10:32

Stewie!

Keen must die!

Een tinyMCE text area is hetzelfde als een normale tekst area, je kan op dezelfde manier deze benaderen.

Acties:
  • 0 Henk 'm!

Verwijderd

Zeker weten dat je eerst:
code:
1
tinyMCE.triggerSave()

Doet en daarna kun je hem opvragen via
code:
1
tinyMCE.getContent()

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dit is dus mijn texarea-tag. $mailingTextArea is eerst leeg en wordt pas gevuld als het form onvolledig is ingevuld en de geposte text terug in tinyMCE geplaatst moet worden.
In principe kan ik er dus wel een value van nemen, maar die leest enkel $mailingTextArea. Telkens te laat dus. Als ik iets typ, en ik post het dan geeft hij in de alert een leeg veld. Post ik "blah 1" en het komt terug (bij onvolledig form) en ik wijzig het in "blah 2" en post opnieuw, dan geeft hij "blah 1" in de alert.
Het javascriptje wordt door een button opgeroepen. Er volgt dan ook nog een document.blah.submit(); op.

PHP:
1
<textarea id="tinyMCE" class="mailingTextarea" name="mailingTextarea"><?=$mailingTextArea?></textarea>


Ik heb ook eventjes die tinyMCE opdrachten in comments gezet omdat javascript die niet herkent. In mijn javascript debugger krijg ik de melding:
tinyMCE.triggerSave(); is not a function.
tinyMCE.getContent(); is not a function.

en dan werkt de rest van mijn code ook niet meer. Ik weet ook niet of ik ze goed gebruik, want ik heb ze opgezocht op de wiki en ik geraakte er niet veel wijs uit...


JavaScript:
1
2
3
4
5
6
tinyMCtest = document.getElementById('tinyMCE').value;
alert(tinyMCtest);

    //tinyMCE.triggerSave(); 
    //tinyTEST = tinyMCE.getContent('tinyMCE');
    //alert(tinyTEST); 


Ik hoop dat het wat duidelijk geformuleerd is.
nog eens bedankt voor jullie tijd ...

Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
Je moet inderdaad iets zoeken over een onsave-callback functie.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmmm, ik vind het echt niet. Als ik "tinyMCE" en "value" google, is de eerste pagina waar ik uitkom deze topic die ik zelf gestart heb. Verder vind ik niets.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
DaMorpheus schreef op maandag 18 augustus 2008 @ 04:38:
Een tinyMCE text area is hetzelfde als een normale tekst area, je kan op dezelfde manier deze benaderen.
Dat is dus gewoon niet waar.

Ok, na heeeeel lang zoeken en met behulp van een vriend heb ik het kunnen fixen.

Erg bedankt igg, simonkey. Je hebt me op de goeie weg geholpen, maar het was nog onvolledig. In de comments van het javascript van m'n vorige post kon je zien dat ik het nog foutief gebruikte en nog aan het zoeken was. Ik wist ook niet hoe ik het moest gebruiken of in welke volgorde die twee functietjes moesten gezet worden. Een klein tikkeltje uitleg zou mij al heel erg veel tijd en last bespaard hebben...
De juiste noteerwijze is dus is maar een beetje anders.
JavaScript:
1
2
3
4
5
6
7
    //TEXT is de id van de tinyMCE-textarea
    tinyMCE.triggerSave();
    tinyMCE.get('TEXT').getContent;
    mailingTextarea = document.getElementById('TEXT').value;

    //en alert als je wil.
    alert('test: '+mailingTextarea);


voila, deze mag dicht...
Hartelijk dank iedereen!! ;)
Danny

Acties:
  • 0 Henk 'm!

Verwijderd

JavaScript:
1
2
tinyMCE.triggerSave();
var mailingTextarea = tinyMCE.get('TEXT').getContent();

Wel even getContent() goed gebruiken natuurlijk.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 20 augustus 2008 @ 07:46:
JavaScript:
1
2
tinyMCE.triggerSave();
var mailingTextarea = tinyMCE.get('TEXT').getContent();

Wel even getContent() goed gebruiken natuurlijk.
Hartelijk dank, heb het vlug aangepast.
6 minuten nadat ik de oplossing post om 8u 's ochtends, omg... Waar zat jij toen ik je nodig had? :*)

(kan nu eindelijk gaan slapen, whoohoo! :) :O )

[ Voor 5% gewijzigd door Verwijderd op 20-08-2008 08:01 ]


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

JavaScript:
1
tinyMCE.get('TEXT').getContent;
Wat doet bovenstaande stukje code nu dan?
Doet die niet hetzelfde als
JavaScript:
1
mailingTextarea = document.getElementById('TEXT').value;
maar dan zonder een variabele er aan gehangen?

Ik moet eerlijk bekennen, ik ben niet zo in TinyMCE thuis, maar als ik de functienamen zo bekijk vermoed ik dat wel een beetje... :)

Acties:
  • 0 Henk 'm!

Verwijderd

GJ-tje schreef op woensdag 20 augustus 2008 @ 17:54:
JavaScript:
1
tinyMCE.get('TEXT').getContent;
Wat doet bovenstaande stukje code nu dan?
Niets. Het is geen method call. Dat is juist waarom die regel zinloos was. Dat heb ik gecorrigeerd zodat die andere regel weg kon.
Pagina: 1