Ga naar inhoud

[php - js] waarde hidden formfield achter url.


Aanbevolen berichten

Ik heb op een pagina een hiddenfield waar een SESSIONID in staat, nu wil ik deze waarde van dit veld achter mijn links zetten (voorbeel /cgi-win/xxx.php?sessiond="WAARDE VAN HIDDENFIELD". Is dit mogelijk doormiddel van click event of zoiets (onclick)? Ik wil dit namelijk doen om de performance te verbeteren. Als ik namelijk achter alle links standaard de waarde van de hiddenfield zet (bij het laden van de page) dan kost dit vrij veel tijd. De waarde is voor alle links hetzelfde dus dat is het probleem niet, alleen wijzigt hij natuurlijk voor elke gebruiker.
Link naar reactie
Het gaat in dit geval over een sessionid die ik zelf aanmaak. Maar vergeet even die sessionid. Het gaat gewoon om een hiddenfield met een waarde, die ik achter mijn links wil zetten op het moment dat iemand op een link clicked. De waarde van de hiddenfield staat dus op dezelfde pagina als de links. Dit moet toch te doen met een javascript ?
Link naar reactie
Is vrij simpel te doen geloof ik, zoiets ongeveer denk ik: [code:1:bc1d1be540] function doe(){ this.href=this.href+document.getElementById(inputid).value; } <a onclick="doe()" [/code:1:bc1d1be540] Beter is het denk ik om event listeners toe te voegen via de dom, maar dat mag je zelf uitvogelen :wink:
Link naar reactie
Oeps, fout voorgezegd :oops: Dit voorbeeldje zou het wel moeten doen: [code:1:3a6f205af6] <html> <head> </head> <body> <input id="elid" value="test"> <script type="text/javascript"> var inputid=document.getElementById('elid'); function doe(obj){ obj.href=obj.href+'?'+inputid.value; alert(obj.href); } </script> <a onclick="doe(this)" href="file.php">test</a> </body> </html> [/code:1:3a6f205af6][/code]
Link naar reactie
Oke... als ik het volgende dus heb: <a href="/test." onclick="doe()" (ik wil er dus htm gaan achterplakken voor de test). Ik heb dus een hiddenfield met de naam sessionid, en de value is dus htm. Dit hiddenfield staat in een form (naam: test). Moet de functie dan zo zijn: function doe(){ this.href=this.href+document.getElementById(sessionid).value; } ik krijg hierop namelijk de melding: fout:sessionid is niet gedefineerd Wat doe ik precies fout ? Is het trouwens ook mogelijk om een hidden field waarde uit een ander frame te halen? bedankt voor de reactie...
Link naar reactie
[quote:951420fffa="tijnie"] Ik heb dus een hiddenfield met de naam sessionid, en de value is dus htm. Dit hiddenfield staat in een form (naam: test). Moet de functie dan zo zijn: function doe(){ this.href=this.href+document.getElementById(sessionid).value; } ik krijg hierop namelijk de melding: fout:sessionid is niet gedefineerd [/quote:951420fffa]Dit zal iets beter gaan... [code:1:951420fffa]this.href=this.href+document.getElementById('sessionid').value; [/code:1:951420fffa]
Link naar reactie
Ik heb lopen stoeien maar krijg de waarde nog niet uit dat andere frame. Ik had dit geprobeerd: var inputid=top.frames['bottomFrame'].getElementById('sessionid'); en var inputid=parent.frames['bottomFrame'].getElementById('sessionid'); ik krijg hierop de melding: deze eigenschap of methode wordt niet ondersteund door het object. Ik wil de waare uit het bottomFrame halen, de naam van het hidden field is en blijft sessionid.
Link naar reactie
Bedankt voor dat laatste script ! Het werk inderdaad goed. Het enige probleem wat ik wel eens heb, is wanneer het frame, waar het hiddenfield in staat, later is geladen dan het frame wat het moet uitlezen het niet werkt (object not found). Is er een mogelijkheid om een foutafhandeling te maken in een javascript die ervoor zorgt dat hij blijft loopen tot de fout weg is ? Onwijs bedankt iedereen tot zover, heb er veel van geleerd !
Link naar reactie
Je moet dan een event handler hangen aan de frame die later laadt. Zoiets?: [code:1:bea35e7043] parent.frames['bottomFrame'].onload=function(){} [/code:1:bea35e7043] Je kunt ook gewoon functies aanroepen die gedefinieerd zijn in andere frames. Het wordt wel een gedoe op een gegeven moment om het allemaal bij te houden. Je bent wel goed bezig. Ik geef geen kant en klaar antwoorden, maar je weet er toch wel wat mee te doen. Goed hoor!
Link naar reactie
Ik begrijp niet helemaal wat het voordeel is van de laatste scriptje wat jij mij stuurde. ik krijg dan toch nog een foutmelding in mijn top en mainframe als het bottom frame nog niet is geladen? Als iemand dus klikt op het midden en top frame en die function onload is nog niet geladen dan krijg ik alsnog een probleem. Is hier wel iets aan te doen !
Link naar reactie
Nog even een vraagje betreffende dit scriptje: </script> <script> var inputid=document.getElementById('sessionid'); function addsess(obj){ obj.href=obj.href+''+inputid.value; } </script> dit scriptje werkt perfect, alleen als ik de pagina/frame zelf niet ververs waar vandaan ik deze functie start (onclick event) dan plakt hij bij de volgende click (onclick event) nogmaals die waarde achter href, en werkt mijn pagina dus niet meer. Hoe kan ik ervoor zorgen dat obj.href gewoon hetzelfde blijft voor het onclick event?
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...