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

[JS] Waarde uit geopend venster opvragen

Dumpie
2 antwoorden
  • Hallo allemaal,

    Misschien is de oplossing voor dit probleem heel simpel, maar ik kom er maar niet uit. Ik heb al een poos op Google lopen zoeken en op forums maar kwam niet echt een duidelijk het antwoord tegen.

    Het probleem:
    Ik heb een formulier met daarin een invoerveld voor de datum. Daarnaast zit een knop om de datum te openenen ('calendar.php').
    Als men vervolgens een datum selecteert in calendar.php moet die datum worden weergegeven in het datum veld op het formulier.

    Ik heb nu de volgende functie maar dit werkt niet:
    [code:1:d35070f75f]
    //formulier
    <input type="text" name="date_end" id="date_end" size=15> <input type="button" value="Selecteer" onClick="Javascript:window.open('_calendar.php', '', 'width=400, height=200');">
    [/code:1:d35070f75f]

    [code:1:d35070f75f]
    //calendar.php
    <script language="JavaScript">
    function ReturnData(sDate)
    { //Grijp de waarde uit een veld (vb. TestVeld van form TestForm) in de popup zelf
    sValue = sDate;

    //Maak referentie naar het originele frame
    oOpener = self.opener();

    //Maak een referentie naar het formulier en veld (OpenForm / OpenVeld) in het orig. frame
    oOpenForm = oOpener.document.getElementById("addreser");
    oOpenField = oOpenForm.elements["end_date"];

    //Kopieer waarde (kan evt. ook meteen in vorige regel) en sluit popup-venster
    oOpenField.value = sValue;
    self.close()
    }
    </script>
    [/code:1:d35070f75f]

    De link:
    [code:1:d35070f75f]
    echo '<td class=tdtoday><input type="button" onClick=ReturnData('2');>".$date_no."</td>';
    [/code:1:d35070f75f]

    Ik krijg de volgende foutmelding:
    Deze actie word niet ondersteund door dit object, en het refereert naar:
    //Maak referentie naar het originele frame
    oOpener = self.opener();

    Kan iemand me helpen? Alvast hartelijk bedankt,

    Johan Hage
  • opener is geen functie, maar een referentie naar een ander window object. Ik denk dat onderstaande dan ook beter zal werken:
    [code:1:f0bf8dc177]var oOpener = self.opener; [/code:1:f0bf8dc177]

    Tip: leer jezelf aan om variabelen altijd te definiëren met var. Als je dat niet doet, dan zal in javascript de variabele in de globale scope worden gedefinieerd (ook al staat deze binnen een functie) en dat kan leiden tot ongevraagde verrassingen :)

Beantwoord deze vraag

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