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

Snelkeuze lijst Java script uitkomen in targetframe

Anoniem
None
12 antwoorden
  • Ik wil onderstaande code gebruiken in mijn website doch kan deze keuzelijst niet laten uitkomen in LeftFrame2.
    Met andere woorden als iemand een keuze maakt opent die code de pagina in dezelfde frame als waar de lijst staat namelijk LeftFrame1. De target vermeld na mijn options werkt niet. Waar dien ik dan de target te plaatsen?

    <script language=javascript><!–
    function changePage (cbo) {var jumpto=cbo.options[cbo.selectedIndex].value; if (jumpto !="") {self.location.href=jumpto} return true;} //–></script>

    <!–webbot bot="Validation" B-Value-Required="TRUE"
    B-Disallow-First-Item="TRUE" –>

    <select name=goto size=1 ONCHANGE="changePage(this)">
    <option selected>Kies provincie</option>
    <option value="../provincies/overzichtant.htm">Antwerpen
    <option value="../provincies/overzichtbru.htm" target="leftFrame2" >Brussel</option>
    <option value="../provincies/overzichthen.htm" target="leftFrame2" >Henegouwen</option>
    <option value="../provincies/overzichtlim.htm" target="leftFrame2" >Limburg</option>
    <option value="../provincies/overzichtlui.htm" target="leftFrame2" >Luik</option>
    <option value="../provincies/overzichtlux.htm" target="leftFrame2" >Luxemburg</option>
    <option value="../provincies/overzichtnam.htm" target="leftFrame2" >Namen</option>
    <option value="../provincies/overzichtovl.htm" target="leftFrame2" >Oost-Vlaanderen</option>
    <option value="../provincies/overzichtvlb.htm" target="leftFrame2" >Vlaams-Brabant</option>
    <option value="../provincies/overzichtwbr.htm" target="leftFrame2" >Waals-Brabant</option>
    <option value="../provincies/overzichtwvl.htm" target="leftFrame2" >West-Vlaanderen</option>
    <option value="../provincies/overzichtned.htm" target="leftFrame2" >Nederland</option>
    <option value="../provincies/overzicht%20provincies.htm" target="leftFrame2" >Alle provincies</option>

    </select>

    </form>
  • Een target toevoegen aan een option werkt niet echt (zoals je al gemerkt hebt), dat is namelijk geen geldig attribuut voor dat element.

    Wat je moet doen is het object waarvoor je de location wil wijzigen (in je script) aanpassen. En dat doe je zo:

  • Bedankt Annie voor de snelle reactie en aanpassing.

    Ik heb het script aangepast maar blijf een runtime error krijgen.

    Ondertussen heb ik de site aangepast en het menu'tje snelzoeken (links) geeft die voor mij onvindbare error.
    Kan je er iets in vinden?

    www.zoektochten.nl
    Alvast bedankt
  • Kijk nog eens goed naar de code die ik je gegeven heb en de code die je in je pagina hebt toegevoegd. Deze zijn niet gelijk.

    p.s. Ik heb een gigantische hekel aan pagina's die fullscreen openen en met mij zijn er nog veel meer mensen.
  • Ik weet het wat die full screen betreft. Maar ja ik zat vast aan contracten met de webdesigner. Wij zijn het aan het veranderen. Maar daar ik die contracten maar onlangs opgzegd heb, moet ik in princiepe nog tot 1 september wachten
  • Of ik ben stekeblind of oerstom, maar ik krijg geen verschillen; Daar het voor mij onmogelijk is mijn bron op te vragen (foutje in mijn XP) kan ik er maar naar raden. De bron werd mij toegestuurd door een vriend en ik vind geen verschillen. Maar ja zal wel aan mij liggen.
  • Het verschil zit 'm in de kleine dingen (zoals zo vaak).

    Stukje uit de code op de pagina:
    [code:1:6d21e21509]
    <script language=javascript><!–function changePage (cbo)
    [/code:1:6d21e21509]

    En dit moet het zijn:
    [code:1:6d21e21509]
    <script language=javascript><!–
    function changePage (cbo)
    [/code:1:6d21e21509]

    Uitleg:
    Doordat alles op 1 regel staat wordt de informatie na de <!– genegeerd. Deze tekencombinatie is namelijk de start van een html remark (wat binnen een script-blok betekend dat de gehele regel niet moet worden meegenomen).
  • OT:

    TIP: In plaats van te zeggen dat ik m'n popup-killer uit moet schakelen kun je beter een linkje geven die de popup opent. Als ik zelf namelijk op een link klik die een popup opent werkt het wel. Worden ze automatisch geopend dan werkt het niet.

    Anne
  • Bedankt, je bent een schatje. Alles werkt!
    Wat de tip betreft:
    Deze site is eigenlijk gebouwd is door één van de grotere webdesigners van Nederland. Pas op ik verwijt hen niks eerder de persoon van het bedrijfje in Belgie, die er mee werkt

    Nogmaals dank
  • Annie,

    Kan je de twee scripts door elkaar gebruiken. Ik bedoel ik heb twee snelkeuze menus in een site staan en het ene menu moet uitkomen in een target frame, het andere moet voledig komen (top com. in doelframe)

    Beiden apart lukken zeer goede, maar als ik ze samen zet neemt de tweede script het volledig over. Zodanig krijg ik de eerste niet meer in de target frame. Ik stuur voor alle zekerheid de broncode mee.
    [code:1:acf3be52b7]<script language=javascript><!–
    function changePage (cbo) {var jumpto=cbo.options[cbo.selectedIndex].value; if (jumpto !="")
    {parent.frames["hoofd"].location.href=jumpto} return true;} //–></script>

    <td align="center" valign="top"><!–webbot bot="Validation"
    B-Value-Required="TRUE" B-Disallow-First-Item="TRUE" –><select name=goto1 size=1 ONCHANGE="changePage(this)" style="background-color: #E8E8D0; color: #7E2A78; font-family: Verdana; font-size: 7 pt; border-style: solid; border-color: #E8E8D0; padding-top: 0">
    <option selected>snelkeuze</option>
    <option value="home.htm">Home</option>
    <option value="services.htm">Diensten</option>
    <option value="serv01.htm">-Vertalingen</option>
    <option value="serv02.htm">-Administratie</option>
    <option value="serv03.htm">-Mailing</option>
    <option value="contact.htm">Contact</option>
    <option value="jobs.htm">Jobs</option>
    <option value="links.htm">Links</option>
    <option value="search.htm">Zoeken</option>
    <option value="feedback.htm">Feedback</option>
    <option value="vraag_offerte.htm">Vraag offerte</option>
    </select>

    </td>

    <script language=javascript><!–
    function changePage (cbo) {var jumpto=cbo.options[cbo.selectedIndex].value; if
    (jumpto !="") {top.location.href=jumpto} return true;} //–></script>


    <td align="center" valign="top"><!–webbot bot="Validation"
    B-Value-Required="TRUE" B-Disallow-First-Item="TRUE" –><select name=goto2 size=1 ONCHANGE="changePage(this)" style="background-color: #E8E8D0; color: #7E2A78; font-family: Verdana; font-size: 7 pt; border-style: solid; border-color: #E8E8D0; padding-top: 0">
    <option selected>Language</option>
    <option value="../fra/index2.htm">Francais</option>
    <option value="../eng/index2.htm">English</option>
    <option value="../dui/index2.htm">German</option>
    </select>

    [/code:1:acf3be52b7]

    Alvast bedankt
  • Het staat natuurlijk een beetje vreemd als je in een publiek forum vragen gaat stellen op persoonlijke naam. Niet dat ik niet bereid ben om ze te beantwoorden, maar er zijn natuurlijk ook nog anderen die dat werk voor me mogen doen ;)

    Anyway, het probleem is dat je tweemaal een functie declareert met dezelfde naam en is dus simpel te verhelpen door 1 van beide functies te hernoemen en de verwijzing daarnaar in de <select> natuurlijk ook even te wijzigen.

    Een andere oplossing is om de functie eenmaal te declareren, maar deze zo herschrijven dat ook de target kan worden aangegeven via een parameter.

    Bijv.
    [code:1:6859fc32ee]
    function changePage (cbo, oTargetWindow)
    {
    var jumpto = cbo.options[cbo.selectedIndex].value;
    if (jumpto !="")
    {
    oTargetWindow.location.href = jumpto
    }
    return true;
    }
    [/code:1:6859fc32ee]

    Aanroepen kan dan met
  • Bedankt

    Voor uit de losse pols geschreven te zijn werkt deze code perfect. Zo zie je maar hoe goed je bent. Ik word een beetje (veel zelfs) jaloers.

    Ik leer dagelijks bij en daarvoor is dit forum ideaal.

Beantwoord deze vraag

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