webForumDet fria alternativet

Dela array mellan php och JavaScript.

3 svar · 548 visningar · startad av drew

drewMedlem sedan mars 2007845 inlägg
#1

Jag var lite osäker på om jag skulle posta detta i JavaScript eller php...

Jag har en sida som använder väldigt mycket JavaScript. Den har ett formulär där man skapar en xml-fil för installation av modifikationer till ett känt forumsystem.

När man klickat på skicka så läser skriptet in alla formulärfält och kontrollerar att dom är i rätt ordning och innehåller något som liknar rätt saker. Hur många olika fält det finns vet man inte innan. Inte heller hurdana. Det skapas browser-side med JavaScript.

När allt har kontrollerats så skickas dels den färdiga filen till användaren och dels så läggs formuläret ut igen med alla fält ifyllda. Detta görs med php.

JavaScript och php har varsin språkfil som innehåller mycket identiska strängar. php-filen har några strängar som saknas i js-filen.

I båda är det en array som heter lang och $lang.

Kan jag på något sätt dela språkfilen mellan dom? Utan att skapa js-filen varje gång den ska skickas eller läsa in den rad för rad med fgets().

pulseMedlem sedan nov. 200373 inlägg
#2

Du vill alltså att phpscriptet ska skriva ut en array med översättningar som ditt javascript kan använda sig av?
Enkla lösningen är ju:

<?php $words = array("a", "b", "c"); ?>
<script type="text/javascript">
var words = new Array(<?php echo "\"" . implode("\", \"", $words) . "\"";?>);
</script>

Du kan också använda Ajax för att anropa en phpfil som ger tillbaks arrayen med översättningar i json eller xmlformat. Sen tilldelar du den bara till din språkvariabel i JS.

pulseMedlem sedan nov. 200373 inlägg
#3

Även detta går att använda tror jag
http://www.javascriptkit.com/javatutors/externalphp.shtml

drewMedlem sedan mars 2007845 inlägg
#4

Tack för båda förslagen.

Det första har nackdelen att språksträngarna skickas varje gång.

Fast det andra verkar vara precis det jag är ute efter. Ska testa det nästa meddetsamma.

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)