login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > JavaScript

AJAX zonder PHP

Rens – 22/10/2009 11:36
Hallo,

Ik ben op mijn stage bezig met een pagina om te bouwen.
De data staat in een XML bestand en wordt door middel van javascript weergeven op een HTML pagina.
Nu was echter mijn vraag of het ook mogelijk is om een zoekbox te maken.
Dus gewoon live zoeken met AJAX, maar dan zonder PHP.
Weet niet of dit mogelijk is?
Als dit mogelijk is, heb je dan een link naar een tutorial hoe dit werkt?
Dan kan ik daar mee verder gaan.

Alvast bedankt!
Rens

4 antwoorden

Gesponsorde links

Rik – 22/10/2009 11:42
Rens schreef:
De data staat in een XML bestand en wordt door middel van javascript weergeven op een HTML pagina.
Hoe doe je dat?

Als je toch met javascript de beschikking hebt over de data kun je daar zonder tussenkomst van AJAX en PHP ook in zoeken lijkt me.

jaronneke – 22/10/2009 11:58 (Laatst gewijzigd op 22/10/2009 12:02)
Met jquery:flavorzoom is dit mogelijk
edit: hij heet blijkbaar anders..

Rens – 22/10/2009 11:58
De code om de gegevens op de HTML pagina te krijgen:
  1. var x=xmlDoc.getElementsByTagName("container");
  2. for (i=0;i<x.length;i++)
  3. {
  4. var y = x[i].getElementsByTagName("gegevens");
  5. for(j = 0; j < y.length; j++)
  6. {
  7. document.write(y[j].getElementsByTagName("plaats")[0].childNodes[0].nodeValue);
  8. }
  9. }



En de gegevens zoals ze in het XML bestand staan:
  1. <container>
  2. <gegevens>
  3. <code>1006</code>
  4. <naam>Acceptatie Omgeving</naam>
  5. </gegevens>
  6. </container>


Er staan nog wel meer gegevens in, maar die zijn niet relevant om op te zoeken.
Er zou gezocht moeten worden op code en naam.

Hoe zou ik dan nu met javascript er voor kunnen zorgen dat er gezocht wordt?

Rik – 22/10/2009 13:21
Als je gaat weergeven gelijk een array opbouwen:
  1. var x=xmlDoc.getElementsByTagName("container");
  2. var gegevens = codes = names = array();
  3. var k = 0;
  4. for (i=0;i<x.length;i++)
  5. {
  6. var y = x[i].getElementsByTagName("gegevens");
  7. for(j = 0; j < y.length; j++)
  8. {
  9. gegevens[k] = y[j];
  10. codes[(y[j].getElementsByTagName("code")[0].childNodes[0].nodeValue] = k;
  11. names[(y[j].getElementsByTagName("naam")[0].childNodes[0].nodeValue] = k;
  12. k++;
  13. document.write(y[j].getElementsByTagName("plaats")[0].childNodes[0].nodeValue);
  14. }
  15. }

En op die manier heb je 2 arrays codes en names waarin je zoekt. Eenmaal gevonden heb je dan de index naar het gegevens-blok waar meer informatie in staat.

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.032s