anoniem Geplaatst: 6 mei 2004 Delen Geplaatst: 6 mei 2004 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. Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 De session id die door de server wordt gegenereerd wordt standaard achter de url gezet. Ik denk ook niet dat het aan te passen is. Je post niets dus ik denk dat het niet gaat. Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 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 ? Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 EN HOOFDLETTERS ZIJN NOGAL OPDRINGERIG.... Even je titel aangepast dus.. t. Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 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: Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 Ik kom er niet helemaal uit. Moet ik aan die onclick="doe()" nog iets meegeven tussen haakjes ? Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 Nee, zie de functie zelf, daar staat toch ook geen variabele tussen... Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 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] Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 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... Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 Dat nieuwe script werkt inderdaad perfect......mits het hiddenfield in dezelfde pagina (frame staat). Is het nou ook mogelijk om deze waarde uit een ander frame te halen ? Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 Jawel, iets in de trend van top.frames['jouframenaam'] of parent.frames en dan weer normaal verder borduren. Quote Link naar reactie
anoniem Geplaatst: 6 mei 2004 Auteur Delen Geplaatst: 6 mei 2004 [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] Quote Link naar reactie
anoniem Geplaatst: 7 mei 2004 Auteur Delen Geplaatst: 7 mei 2004 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. Quote Link naar reactie
anoniem Geplaatst: 7 mei 2004 Auteur Delen Geplaatst: 7 mei 2004 Ik wil niet dwingerig zijn, maar zou 1 van de expers mij aub kunnen helpen met de vorige vraag? dit is het laatste wat ik nodig heb voor mijn project. Ik heb op internet gezocht, boeken bekeken van alles geprobeerd maar ik blijf maar foutmeldingen krijgen. Quote Link naar reactie
anoniem Geplaatst: 7 mei 2004 Auteur Delen Geplaatst: 7 mei 2004 var inputid=parent.frames['bottomFrame'].getElementById('sessionid'); moet zijn: var inputid=parent.frames['bottomFrame'].document.getElementById('sessionid'); Quote Link naar reactie
anoniem Geplaatst: 7 mei 2004 Auteur Delen Geplaatst: 7 mei 2004 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 ! Quote Link naar reactie
anoniem Geplaatst: 7 mei 2004 Auteur Delen Geplaatst: 7 mei 2004 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! Quote Link naar reactie
anoniem Geplaatst: 10 mei 2004 Auteur Delen Geplaatst: 10 mei 2004 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 ! Quote Link naar reactie
anoniem Geplaatst: 11 mei 2004 Auteur Delen Geplaatst: 11 mei 2004 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? Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen