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

Webdesign (HTML, CSS, Flash)

javascript/ajax variable self uppdating string

Simon-Bezemer
8 antwoorden
  • hoi allemaal,
    ik moet voor een opdracht voor school eer reserveringssysteem maken voor een bioscoop, dat werkt allemaal prima, maar wat ik momenteel heb is dat als je de muis boven een bepaalde stoel soort houdt, dat je links de prijs ziet.

    Alleen dit is nogal primitief door mij gedaan; mouseover-> if stoel=iets
    dan show->datprijsplaatje

    alleen de "opdrachtgever" wil ook een systeem hebben zodat als je meerdere stoelen reserveerd je ook een uiteindelijke prijs hebt.

    Mijn enige probleem is dat ik niet weet hoe je een zich zelf vernieuwende string kan maken, dus in plaats van een plaatje dat verandert, een string waar de prijs uit is af te lezen, en ook dus makkelijk als totaalprijs weer te geven is.

    Ik heb wat gegoogled maar het enige waar ik achtergekomen ben is dat het met ajax/javascript moet.

    Kan iemand misschien uitleggen hoe ik een variable string maak, of de link naar een pagina waar dat uitgelegd staat.

    Het hele reserveringssysteem moet in Javascript/evt. Ajax(geen php enz., hoeft ook geen database achter te zitten momenteel)
    alles werkt momenteel behalve dan dat ik een "variable self updating string" nodig heb.

    bvd

    Simon
  • [code:1:15812d135f]
    function mouseOver(x,y) {
    if (zaalidee==1) {
    if (stoeltype[x][y] == 1) { //n.v.t.; stoelen komen niet voor in deze zaal.
    document.getElementById("prijsid").src ="prijs_5_00.png";
    }
    else if (stoeltype[x][y] == 2) {
    document.getElementById("prijsid").src ="prijs_6_50.png";
    }
    else if (stoeltype[x][y] == 3) {
    document.getElementById("prijsid").src ="prijs_7_50.png";
    }
    else if (stoeltype[x][y] == 4) {
    document.getElementById("prijsid").src ="prijs_9_50.png";
    }
    else if (stoeltype[x][y] == 5) {
    document.getElementById("prijsid").src ="prijs_12_50.png";
    }
    else if (stoeltype[x][y] == 6) {
    document.getElementById("prijsid").src ="prijs_17_50.png";
    }
    else if (stoeltype[x][y] == 7) {
    document.getElementById("prijsid").src ="prijs_0.png";
    }
    }
    if (zaalidee==2) {
    if (stoeltype[x][y] == 1) {
    document.getElementById("prijsid").src ="prijs_5_00.png";
    }
    else if (stoeltype[x][y] == 2) {
    document.getElementById("prijsid").src ="prijs_5_50.png";
    }
    else if (stoeltype[x][y] == 3) {
    document.getElementById("prijsid").src ="prijs_6_50.png";
    }
    else if (stoeltype[x][y] == 4) {
    document.getElementById("prijsid").src ="prijs_7_50.png";
    }
    else if (stoeltype[x][y] == 5) {
    document.getElementById("prijsid").src ="prijs_10_00.png";
    }
    else if (stoeltype[x][y] == 6) {
    document.getElementById("prijsid").src ="prijs_15_00.png";
    }
    else if (stoeltype[x][y] == 7) {
    document.getElementById("prijsid").src ="prijs_0.png";
    }
    }
    if (zaalidee==3) {
    if (stoeltype[x][y] == 1) {
    document.getElementById("prijsid").src ="prijs_4_50.png";
    }
    else if (stoeltype[x][y] == 2) {
    document.getElementById("prijsid").src ="prijs_5_50.png";
    }
    else if (stoeltype[x][y] == 3) {
    document.getElementById("prijsid").src ="prijs_6_50.png";
    }
    else if (stoeltype[x][y] == 4) {
    document.getElementById("prijsid").src ="prijs_7_50.png";
    }
    else if (stoeltype[x][y] == 5) {
    document.getElementById("prijsid").src ="prijs_10_00.png";
    }
    else if (stoeltype[x][y] == 6) {
    document.getElementById("prijsid").src ="prijs_15_00.png";
    }
    else if (stoeltype[x][y] == 7) {
    document.getElementById("prijsid").src ="prijs_0.png";
    }
    }
    }

    function mouseOut()
    {
    document.getElementById("prijsid").src ="prijs_0.png";
    }
    [/code:1:15812d135f]

    zo heb ik het momenteel, per zaal verschillende prijzen, maar dit moet niet doormiddel van plaatjes met de prijs erop, maar met een string die net als de plaatjes verandert bij een mouseover
  • kan iemand dit topic trouwens naar webprogrammeren verplaatsen? ik zie dat ik em verkeerd heb neergezet
  • Even dat ik het goed begrijp:
      [*:3d8fc976d3]Ik ben een klant, en wil samen met mijn vriendin naar de bioscoop. [*:3d8fc976d3]Ik [b:3d8fc976d3]vink aan [/b:3d8fc976d3](toch??) welke stoelen ik wil. [*:3d8fc976d3]Ergens in een elementje moet de totaalprijs van mijn reservering weergegeven worden[/list:o:3d8fc976d3]Klopt dat? Ik zou dan sowieso een array maken waarin alle prijzen van de stoeltypen zijn vermeld. Vervolgens maak je een script wat binnen het formulier bijhoudt welke id's zijn aangevinkt en welke stoeltype (en dus prijs) daaraan vasthangt. Vervolgens is het een kwestie van optellen en laten verversen bij een onclick in het formulier.
  • [quote:7788537679="Ger"]Even dat ik het goed begrijp:
      [*:7788537679]Ik ben een klant, en wil samen met mijn vriendin naar de bioscoop. [*:7788537679]Ik [b:7788537679]vink aan [/b:7788537679](toch??) welke stoelen ik wil. [*:7788537679]Ergens in een elementje moet de totaalprijs van mijn reservering weergegeven worden[/list:o:7788537679]Klopt dat? Ik zou dan sowieso een array maken waarin alle prijzen van de stoeltypen zijn vermeld. Vervolgens maak je een script wat binnen het formulier bijhoudt welke id's zijn aangevinkt en welke stoeltype (en dus prijs) daaraan vasthangt. Vervolgens is het een kwestie van optellen en laten verversen bij een onclick in het formulier.[/quote:7788537679] je kan idd op de stoelen klikken, totaal prijs moet worden weergegeven, maar dat had ik nog niet, maar moest wel. prijzen had ik alvast in een array gestopt. optellen kan idd easy verversen door onclick, ik zal het even proberen, dacht zelf dat met ajax enz moest.(net 2 maanden bezig met javascript)
  • [quote:e36606cdcd="Simon-Bezemer"]verversen door onclick, ik zal het even proberen,[/quote:e36606cdcd]Tip: zet het berekenen en weergeven in een functie die je bijvoorbeeld totaalprijs() noemt. Dan kun je die aanroepen met
    [code:1:e36606cdcd]onclick="totaalprijs()"[/code:1:e36606cdcd]
  • een string verversen kan niet echt :?
    een invoervak wel, dus dat heb ik maar gedaan, 't moet binnenkort af zijn dus dan maar zo
  • [quote:ee4ae3e4f8="Simon-Bezemer"]een string verversen kan niet echt :?[/quote:ee4ae3e4f8]
    Niet? Toch wel hoor, als je het maar juist aanpakt. Even uit de losse pols:
    [code:1:ee4ae3e4f8]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <script language="javascript">
    function optellen()
    {
    var stoelen = new Array();
    stoelen[0] = eval(document.getElementById("stoel1").value);
    stoelen[1] = eval(document.getElementById("stoel2").value);
    stoelen[2] = eval(document.getElementById("stoel3").value);
    var totaal;
    totaal = stoelen[0] + stoelen [1] + stoelen[2];
    document.getElementById('vakje').innerHTML = totaal;
    }
    </script>
    </head>
    <body>
    <div style="float: left; margin: 50px; padding: 50px; background-color: #FFAA00;" onclick="optellen();">
    <form name="bios">
    <input type="text" size="3" id="stoel1" onChange="optellen()" />
    <input type="text" size="3" id="stoel2" onChange="optellen()" />
    <input type="text" size="3" id="stoel3" onChange="optellen()"/>
    </form>
    <div id="vakje" style="border: 2px solid black; height: 80px; font-size: 80px; text-align: center;"></div>
    </div>
    </body>
    </html>
    [/code:1:ee4ae3e4f8]
    Plak dat maar eens in een stand-alone bestand, je zult zien dat het bij iedere verandering van de inputvelden en bij iedere klik binnen de div aangepast wordt.

    (NB: bovenstaande kan natuurlijk hier en daar wat efficienter, maar het gaat me hier even om het principe)

Beantwoord deze vraag

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