De search werkt helaas nog niet, en de topics van de laatste dertig dagen doorbladeren heeft ook niks op geleverd.
Vandaar dat ik er een Topic van maak:
Situatie
Ik gebruik FastTemplates om mijn site op te zetten. Bevalt me goed. Voor diegene die het niet weten: Met templates is het mogelijk alle PHP code te scheiden van HTML code. Concreet wordt in een .PHP bestand alle bewerkingen uitgevoerd en resultaten verzameld in variabelen ( $tpl->assign('veldtypes', $veldtype) ). Deze variabelen komen in de templates (HTML bestanden met de extensie .TPL) terug door ze daar tussen accolades te plaatsen ( {veldtypes} )
Probleem:
Ik probeer in mijn TPL bestand een geldige variabele te verwerken in een Javascript op deze zelfde template.
uitleg
Het gaat om de variabele 'textarea' in de Java script code. Door deze als eerste te declareren werkt het niet. Als ik 'textarea' in het script overal vervang door {veldnaam}, werkt het ook niet. In de source van de uitgespuwde HTML pagina is de variabele gewoon leeg.
Dezelfde template variabele gebruikt in de rest van de pagina werkt wel (in HTML gedeelte).
vraag
Kan ik dit oplossen?
Situatie
Ik gebruik FastTemplates om mijn site op te zetten. Bevalt me goed. Voor diegene die het niet weten: Met templates is het mogelijk alle PHP code te scheiden van HTML code. Concreet wordt in een .PHP bestand alle bewerkingen uitgevoerd en resultaten verzameld in variabelen ( $tpl->assign('veldtypes', $veldtype) ). Deze variabelen komen in de templates (HTML bestanden met de extensie .TPL) terug door ze daar tussen accolades te plaatsen ( {veldtypes} )
Probleem:
Ik probeer in mijn TPL bestand een geldige variabele te verwerken in een Javascript op deze zelfde template.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| var $textarea = {veldnaam};
function storeCaret () {
if (formname.textarea.createTextRange)
formname.textarea.caretPos = document.selection.createRange().duplicate();
}
function addSmiley (smileycode) {
if (formname.textarea.createTextRange && formname.textarea.caretPos) {
var caretPos = formname.textarea.caretPos;
caretPos.text =
caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
smileycode + ' ' : smileycode;
document.formname.textarea.focus();
}
else
formname.textarea.value = smileycode;
storeCaret();
document.formname.textarea.focus();
} |
uitleg
Het gaat om de variabele 'textarea' in de Java script code. Door deze als eerste te declareren werkt het niet. Als ik 'textarea' in het script overal vervang door {veldnaam}, werkt het ook niet. In de source van de uitgespuwde HTML pagina is de variabele gewoon leeg.
Dezelfde template variabele gebruikt in de rest van de pagina werkt wel (in HTML gedeelte).
vraag
Kan ik dit oplossen?