Ik heb op internet een scriptje gevonden dat als je je tekst in een textarea zet dat je het dan ook direct in een DIV kunt zien. Maar ik wil er een preview van maken met php ubbcodes erin ik bedoel zegmaar:
[b]dikgedrukt[/b][i]schuin[/i]
en dat er dan in de div komt te staan dikgedruktschuin
Ik heb dit script:
<script language="JavaScript" type="text/javascript">
function preview(id1, id2){
var NewText = document.getElementById(id1).value;
splitText = NewText;
var DivElement = document.getElementById(id2);
DivElement.innerHTML = splitText;
}
</script>
Waarom zou je het met AJAX reviewen? Lijkt mij een beetje overbodig gebruik van de netwerkverbinding. Je kan met JS (JavaScript) zelf ook prima een preview functie maken.
Voordeel is dat je netwerkverbinding / server hier dan niet mee wordt belast, maar de computer van de bezoeker. Zeker omdat je preview bij elke toetsaanslag wordt ververst is AJAX geen slimme optie.
Wanneer je echter (zoals ik) 200 smilies in een database heb die je wilt vervangen dan moet je dit dus niet allemaal in javascript zetten. Ajax bied hier een oplossing voor in combinatie met php.
Dus voor een paar ubbcodes is het geen probleem.. heb je er echter een stuk of 300 zoals ik dan kan je ongeveer nagaan hoe groot mijn javascript bestand zou moeten worden en dus gebruik ik op dat moment liever ajax.
Oké, ik snap het wel, maar het is en blijft lastig om dit met PHP te doen.. je js bestand zal misschien groot worden, maar die wordt ook gecached, dus die wordt maar 1x gedownload. Dat is altijd nog minder erg dan bij een text van 400 tekens 400 keer controleren op de serverkant.
Als je met ajax gaat werken moet je ook niet onkeyup alles verzenden maar zoals ik eerder beschreef:
Als je met ajax gaat werken vind ik dat je dat 2 divs moet maken naast elkaar. Eentje met de textarea erin en de andere met de preview met display op none. Knop eronder met submit en preview en wanneer er op de preview knop word gedrukt.. de textarea div: display:none zetten en de preview div: display:block maken.
Ajax request maken en voila je hebt een mooie preview
Gewoon een preview knop. En wanneer hier op word gelikt, dan pas de ajax request uitvoeren