[smarty / js] Variabele Smarty variabele vanuit javascript

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 23-09-2024
Hoi,

Ik heb mezelf een beetje in de nesten gewerkt. Ik gebruik een javascript om formulieren op mijn pagina clientside te checken. Elk formulier kan zijn eigen instellingen hebben. Ik heb hiertoe een array in Smart ge-assigned:

[forms][formulier1][errormessage] =>"Fout"
..........[formulier2][errormessage]=>"Wrong"


In mijn template geeft ie elk formulier een hidden value mee met daarinde formuliernaam, in dit voorbeeld even 'formulier1' of 'formulier2'.

In javascript geeft ik de formulieren een onSubmit-event mee, dat eerst uitzoekt wat de naam is van het formulier dat is gesubmit. Vervolgens roept ie een functie check_form(formuliernaam) aan die de boel verder afhandelt.

JavaScript:
1
2
3
4
function check_form(form_name){
    var error = "{/literal}{$forms.????.errormessage}{literal}";
....
}


Mijn probleem is dus dat ik de formuliernaam in een javascript variabele heb, en die wil gebruiken om een bepaalde waarde binnen een smarty-array op te vragen. Ik snap dat de hele opzet met smarty in bovenstaand voorbeeld wat moeilijkdoenerij lijkt, maar in de werkelijkheid zijn het veel uitgebreidere scripts en werkt de huidige opzet prima. Ik zit dus alleen met dit probleem. iemand enig idee?

Acties:
  • 0 Henk 'm!

  • Flowmo
  • Registratie: November 2002
  • Laatst online: 19-06 12:59
staat je JS in de php files / HTML?
Zo ja, php variabele echo-en in het javascript block waar je hem nodig hebt.
Zo nee, in de HTML een globale variabele neerzetten waarin je dus die melding echo't en deze variabele gebruiken in je externe JS. Variable dient dan voor de externe JS ingeladen te worden.

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
code:
1
2
3
4
5
{literal}
<script language='javascript etc. etc. etc>
var formulier = "{/literal}{$formuliernaam}{literal}";
</script>
{/literal}


etc. etc. Gewoon alle variablen die je nodig hebt in één blok definiëren en de rest netjes in een extern javascriptje gebruiken.

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 23-09-2024
bedankt voor de aangedragen suggesties. hier was ik al bang voor. ik ga het inderdaad maar op die manier doen, maar bij 4 formulieren en 80 variabelen wordt het wel een zooitje... soit.

bedankt.

edit: ik zie nu pas hoe dom mn vraag eigenlijk was. Alsof je javascript zou kunnen gebruiken om clientside door een smarty array te fietsen.

[ Voor 26% gewijzigd door xilent_xage op 14-12-2011 14:33 ]