Odelay,
Geen dringende vraag hier, maar ik vroeg me af of er een efficiëntere manier is voor wat ik aan het doen ben. Ik heb variabelen, die ik wil gebruiken in een javascript, in een xml file staan. die php script laad ik ze in:
en dit is het xml bestand
en dit is dan de variabele toekenning in JS
zoals je ziet zijn de variabele namen en de tag names hetzelfde, daarom vroeg ik me af of het niet in een lus kan of iets dergelijks. Het moet wel FF & IE compatible blijven.
Iemand een direct idee? Nogmaals, het is echt niet dringend, want dit werkt prima, ik was alleen nieuwsgierig of ik de beste manier gebruik.
Geen dringende vraag hier, maar ik vroeg me af of er een efficiëntere manier is voor wat ik aan het doen ben. Ik heb variabelen, die ik wil gebruiken in een javascript, in een xml file staan. die php script laad ik ze in:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <?php // Function loads data from posted xml file if (isset($_GET['file'])) {$file=$_GET['file'];} else {$file='default.xml';} $doc = new DOMDocument(); $doc->load( $file ); $settings = $doc->getElementsByTagName("settings"); $expnames = $doc->getElementsByTagName("expname"); $expname = $expnames->item(0)->nodeValue; $trialDelays = $doc->getElementsByTagName("trialDelay"); $trialDelay = $trialDelays->item(0)->nodeValue; $stimShows = $doc->getElementsByTagName("stimShow"); $stimShow = $stimShows->item(0)->nodeValue; $stimDelays = $doc->getElementsByTagName("stimDelay"); $stimDelay = $stimDelays->item(0)->nodeValue; $boxDelays = $doc->getElementsByTagName("boxDelay"); $boxDelay = $boxDelays->item(0)->nodeValue; $alertTexts = $doc->getElementsByTagName("alertText"); $alertText = $alertTexts->item(0)->nodeValue; ?> |
en dit is het xml bestand
XML:
1
2
3
4
5
6
7
8
9
| <?xml version="1.0" encoding="UTF-8"?> <settings> <!-- Settings go here --> <trialDelay>50</trialDelay> <!-- delay between trials in miliseconds --> <stimShow>1000</stimShow> <!-- how long is the stimulus visible --> <stimDelay>1000</stimDelay> <!-- delay between stim1 and stim2 --> <boxDelay>1000</boxDelay> <!-- delay between stim2 and textbox --> <expname>"newname"</expname> <!-- --> <alertText>"next stimuli is coming up, press enter to remove this box when you're ready"</alertText> </settings> |
en dit is dan de variabele toekenning in JS
JavaScript:
1
2
3
4
| file = "<?echo($file)?>" expname = <?echo($expname)?>; trialDelay = <?echo($trialDelay)?>; etc.... |
zoals je ziet zijn de variabele namen en de tag names hetzelfde, daarom vroeg ik me af of het niet in een lus kan of iets dergelijks. Het moet wel FF & IE compatible blijven.
Iemand een direct idee? Nogmaals, het is echt niet dringend, want dit werkt prima, ik was alleen nieuwsgierig of ik de beste manier gebruik.
offtopic:
verdeeeurie, helemaal vergeten de topic title af te maken, kan iemand dat fixen naar
'doorschuiven van variabelen' oid?
verdeeeurie, helemaal vergeten de topic title af te maken, kan iemand dat fixen naar
'doorschuiven van variabelen' oid?
[ Voor 3% gewijzigd door Verwijderd op 03-01-2007 23:46 ]