Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[php - js] waarde hidden formfield achter url.

None
19 antwoorden
  • 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.
  • 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.
  • 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 ?
  • EN HOOFDLETTERS ZIJN NOGAL OPDRINGERIG….

    Even je titel aangepast dus..

    t.
  • 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:
  • Ik kom er niet helemaal uit. Moet ik aan die onclick="doe()" nog iets meegeven tussen haakjes ?
  • Nee, zie de functie zelf, daar staat toch ook geen variabele tussen…
  • 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]
  • 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…
  • 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 ?
  • Jawel, iets in de trend van top.frames['jouframenaam'] of parent.frames en dan weer normaal verder borduren.
  • [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]
  • 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.
  • 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.
  • var inputid=parent.frames['bottomFrame'].getElementById('sessionid');

    moet zijn:
    var inputid=parent.frames['bottomFrame'].document.getElementById('sessionid');
  • 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 !
  • 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!
  • 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 !
  • 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?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.