[js] Zonder pagina reload externe query uitvoeren

Pagina: 1
Acties:
  • 110 views sinds 30-01-2008
  • Reageer

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Beste allemaal,

Ik heb mezelf weer eens voor een opgavetje gesteld.
Stel je hebt een formulier en daarin zitten een aantal dropdowns
Nu is het geval dat de ene dropdown afhakelijk is van de waarde van de voorgaande.
Ik hoor jullie al denken daar heb je er weer een...RTFM...maar ik weet wel een paar oplossingen (die ik zo zal geven) maar ben op zoek naar een mooiere omdat bij onderstaande ik een paar probleempjes heb.

1.Bij het laden van het formulier gooi ik alle data in javascript arrays en een ander Js scrippie doet de rest..works like a charm...

2. Bij een onchange event van een dropdown trigger ik een popup die voor mij een query doet en in de parent window de afhankelijke dropdown vult. ..works like a charm....totdat servicepack 2 kwam...die zeurde over de popups..tuurlijk is het een kwestie van de site vrijgeven maar toch...grmbl

En nu even het probleem.
Als ik optie 1 gebruik kan het voorkomen dat ik +/- 12555 records in een js array moet gooien..
Nog niet zo'n probleem bij een snelle verbinding...maar over gprs is het een drama.
Nu is mij niet bekend of je wanneer je een js include je dit probleem ook nog hebt.

Mijn vraag is dus ...heeft een briljante geest hier nog een ander (mooier) alternatief voor.
Dus ik wil het liefst geen data laden die ik niet nodig heb..en ik wil ook niet iedere keer de php refreshen 8)7

  • Atari Paul
  • Registratie: November 2002
  • Laatst online: 23:35
Hmm, ik heb ooit gewerkt met frames, waarbij een frame niet zichtbaar is en de data bevat die ik gebruik in het andere frame.

Je zou dan in het frame wat niet zichtbaar is de queries die je nodig hebt kunnen uitvoeren.

Stability ?? My Atari still has it :)


Verwijderd

Dit gaat nooit want je moet serverside je data ophalen uit de database en clientside maak je de keuze welke data er wordt opgehaald. Als je dus niet alle data in 1 keer ophaalt zul je moeten refreshen.

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

Je kan wellicht gebruik maken van xmlhttprequest.

[ Voor 5% gewijzigd door Rickets op 26-01-2005 21:40 ]

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Dit gaat nooit want je moet serverside je data ophalen uit de database en clientside maak je de keuze welke data er wordt opgehaald. Als je dus niet alle data in 1 keer ophaalt zul je moeten refreshen
Ik ben niet echt een fan van het woord nooit. Vooral niet hierbij want optie 2 komt daarvan al aardig in de richting...je refreshed niet het hoofdscherm maar je haalt de data op via de popup.
xmlhttprequest
kende ik niet maar komt aardig in de buurt van wat ik wil..
Ah wat ik al dacht is onderdeel van Microsoft.XMLHTTP
hmm die kende ik al wel uit Vb en .NET
tja zal niet handig zijn als ik in een ziekenhuis..even iets wil installeren..
dus gaat hier niet op....ik heb zelf een browsertje in vb gebouwd waarmee ik vanalles uitgehaald heb ...maar dat is hier even geen optie.
Hmm, ik heb ooit gewerkt met frames, waarbij een frame niet zichtbaar is en de data bevat die ik gebruik in het andere frame.

Je zou dan in het frame wat niet zichtbaar is de queries die je nodig hebt kunnen uitvoeren.
hmm frames............. nee
iframe vind ik ook niks want die doet mee met de browser back button.

[ Voor 52% gewijzigd door vorlox op 26-01-2005 21:46 ]


  • Atari Paul
  • Registratie: November 2002
  • Laatst online: 23:35
Ja, dat klopt. Maar in het 'verborgen' frame kun je een apart php script aanroepen wat de data ophaalt die je nodig hebt. Zo ziet een gebruiker niet dat een heel scherm opnieuw wordt opgebouwd.

Stability ?? My Atari still has it :)


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Google hints (zo heette dat toch?) gebruikt een xml-dataconnectie om een hintsbox te vullen. Misschien heb je daar wat aan?
Een alternatief is om met DOM een <script> element toe te voegen in je document tree. In dat script (dat natuurlijk extern gelinkt is) vul je je dropdown.

Ik heb met geen van beide ervaring, maar ik heb beide toegepast zien worden om clientside de server de querien.

Localhost, sweet localhost


Verwijderd

vorlox schreef op woensdag 26 januari 2005 @ 21:28:2. Bij een onchange event van een dropdown trigger ik een popup die voor mij een query doet en in de parent window de afhankelijke dropdown vult. ..works like a charm....totdat servicepack 2 kwam...die zeurde over de popups..tuurlijk is het een kwestie van de site vrijgeven maar toch...grmbl
Wanneer je in plaats van een popup frame een inline frame in je bestaande pagina opent (bv. door de innerHTML van een span met een bepaalde ID te wijzigen) werkt mogelijkheid 2 ook onder SP2 netjes zonder extra site-specifieke instellingen te hoeven doen. Ik kan niet met zekerheid zeggen of dit werkt wanneer je de inline frame onzichtbaar maakt - toen ik het gebruikte bevatte de inline frame de nieuwe data ipv. de hoofdpagina. Ik zie echter niet in waarom dat het het geval zou zijn.

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Google schijnt het ook te kunnen zonder opnieuw te laden. Deze service is nog beta en gaat schuil onder de naam Google Suggest. Als zij het kunnen kan iedereen het zou ik zeggen.

@vorlox: misschien is dit een duw in de juiste richting, ik kan je helaas geen technisch antwoord geven, mij JavaScript kennis gaat niet verder dan window.open :).

www.fendt.com | Nikon D7100 | PS5


  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

vorlox schreef op woensdag 26 januari 2005 @ 21:40:
kende ik niet maar komt aardig in de buurt van wat ik wil..
Ah wat ik al dacht is onderdeel van Microsoft.XMLHTTP
hmm die kende ik al wel uit Vb en .NET
tja zal niet handig zijn als ik in een ziekenhuis..even iets wil installeren..
dus gaat hier niet op....ik heb zelf een browsertje in vb gebouwd waarmee ik vanalles uitgehaald heb ...maar dat is hier even geen optie.
Nee hoor, het is tegenwoordig niet meer MS only (zoals gezegd, google suggest gebruikt het, maar het bestaat echt al een tijd) Zoek er maar eens naar en probeer het uit :)
http://developer.apple.co...ebcontent/xmlhttpreq.html bv.

[ Voor 6% gewijzigd door Rickets op 26-01-2005 21:50 ]

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Wanneer je in plaats van een popup frame een inline frame in je bestaande pagina opent (bv. door de innerHTML van een span met een bepaalde ID te wijzigen) werkt mogelijkheid 2 ook onder SP2 netjes zonder extra site-specifieke instellingen te hoeven doen. Ik kan niet met zekerheid zeggen of dit werkt wanneer je de inline frame onzichtbaar maakt - toen ik het gebruikte bevatte de inline frame de nieuwe data ipv. de hoofdpagina. Ik zie echter niet in waarom dat het het geval zou zijn.
klinkt interessant..kweet niet of ik het helemaal goed begrijp.
dus ik gooi er een iframe in en ik wijzig via b.v document.getElementById('IframeNaam').src = 'http://verweggiestan.nl/?cardiologie=1' de waarde en vul vervolgens vanuit de iframe (zelfde techniek als vanuit popup) de waarde..... maar dan is de vraag...wat doet de browser back of forward button ermee.... hervult deze dan niet de waarden?

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Nee hoor, het is tegenwoordig niet meer MS only. Zoek er maar eens naar en probeer het uit
http://developer.apple.co...ebcontent/xmlhttpreq.html bv.
ok zal ik zeker doen...maar moet je er iets voor installeren??? In een ziekenhuis mag ik niet eens flash installeren????

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Een alternatief is om met DOM een <script> element toe te voegen in je document tree. In dat script (dat natuurlijk extern gelinkt is) vul je je dropdown.
Sorry jou post even gemist ofzo..
Ken ik niet weet ik niet ga ik uitzoeken ;)

shit sorry.. uh modje kan ik mijn posts mergen?

[ Voor 12% gewijzigd door vorlox op 26-01-2005 21:55 ]


Verwijderd

vorlox schreef op woensdag 26 januari 2005 @ 21:50:
[...]


klinkt interessant..kweet niet of ik het helemaal goed begrijp.
dus ik gooi er een iframe in en ik wijzig via b.v document.getElementById('IframeNaam').src = 'http://verweggiestan.nl/?cardiologie=1' de waarde en vul vervolgens vanuit de iframe (zelfde techniek als vanuit popup) de waarde..... maar dan is de vraag...wat doet de browser back of forward button ermee.... hervult deze dan niet de waarden?
Nee dat is niet helemaal hoe ik het heb gebruikt. Ik had iets van <span id="FrameDummy"> </span> en dan document.getElementById('FrameDummy').innerHTML = '<iframe src="http://www.blaatmekker.nl/script?query"></iframe>'; . Maar wellicht dat jouw manier ook werkt.

Wat de back button betreft: de browser telt het laden van zo'n iframe niet als iets wat in de history moet worden opgeslagen. Wanneer je dus op de hoofdpagina komt met de dropdown boxen en daarna 3x een iframe oproept om nieuwe info op te halen, zul je teruggaan naar de pagina waar je zat voordat je de hoofdpagina met de dropdowns bezocht.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 15-05 12:23

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
ok meneer Exorcitus ....ik denk dat dit volkomen duidelijk is...wow....briljant.

_/-\o_

hmm wow.. djluc ...ik kan niet typen of niet zoeken geloof ik...dit heb ik gewoon niet gevonden.
thanks oh fuck nee ik kan inderdaad niet lezen....zucht dit is dus weer die xmlhttp ik zal het wel proberen en even testen of ik het zonder rechten op een PC gewoon kan gebruiken....of het werkt onder mozilla vind ik NU nog niet zo belangrijk...

[ Voor 76% gewijzigd door vorlox op 26-01-2005 22:02 ]


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
XMLHttpRequest Object Demo dit is erg vet... ik heb tot nu toe geen melding gehad van helemaal niets..ook geen rechten rommel ....en het werkt als een spreekwoordelijke trein.

Dat is hem dus.. deze link moet je hebben
http://developer.apple.co...ebcontent/xmlhttpreq.html

Bedankt hoor...vette brainstorm...va Rickets mag gezegd worden.. dat hij hier toch als eerste even mee kwam...

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022

Reveller

Hopla!

Meer informatie over Google Suggest kun je overigens hier vinden; iemand heeft het google .js script getracht enigszins leesbaar te maken en vervolgens te analyseren. Het kost wat moeite, maar is zeker voor iemand met ervaring als jij snel te begrijpen. Wellicht heb je er wat aan.

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Reveller schreef op woensdag 26 januari 2005 @ 22:33:
Meer informatie over Google Suggest kun je overigens hier vinden; iemand heeft het google .js script getracht enigszins leesbaar te maken en vervolgens te analyseren. Het kost wat moeite, maar is zeker voor iemand met ervaring als jij snel te begrijpen. Wellicht heb je er wat aan.
Als je het nog sneller wilt leren begrijpen kan je eens naar onderstaand (recent) topic kijken, daarin staan ook een aantal verwijzingen over hoe "Google Suggest" werkt. Tevens een link naar een site die de hele javascript heeft herschreven (functie, variabelen) naar iets leesbaars:

[rml][ alg] google suggest like tekstbox[/rml]

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:45

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 vindt het allemaal redelijk clientside klinken

>> Webdesign & Graphics

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1