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

Script Fout

Nplayer
5 antwoorden
  • Hoi zoals jullie waarschijnlijk wel kunnen zien benk nieuw hier, ik ben hier min of meer ten einde raad.

    Ik heb namelijk in html en java een script geschreven voor een Mailto betalng, alleen nou wil helemaal onderaan in het script het laatste vakje niet optellen..:(

    Iemand een idee?



    <html>
    <style type="text/css">
    <!–
    .style1 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    –>
    </style>
    <body>
    <form action="MAILTO:nick.van.der.m@gmail.com" method="post" enctype="text/plain" class="style1">
    <h3>Vul u gegevens hieronder in.</h3>
    Naam:<br>
    <input type="text" name="naam"
    size="20">
    <br>
    Voornaam:<br>
    <input type="text" name="Voornaam"
    size="20">
    <br>
    Postcode, Plaats<br>
    <input name="Postcode" type="text"
    size="6" maxlength="6">
    <input type="text" name="Plaats"
    size="20" />
    <br>
    Straat, Nr.<br>
    <input type="text" name="Straat"size="20">
    <input name="Nr." type="text"size="6" maxlength="6" />
    <br>
    Telefoon<br>
    <input type="text" name="Telefoon"
    size="20">
    <br>
    Email<br>
    <input type="text" name="Email"
    size="20">
    <br>
    Aantal<br>
    <input name="Email" type="text"
    size="2" maxlength="2">
    <br>
    Email<br>
    <input type="text" name="Email"
    size="20">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <p>
    <script type="text/javascript" language="javascript">

    function TelOp() {
    var waarde;
    waarde = document.all.prijs.value * document.all.meters.value
    document.all.uitkomst.value = "" + waarde;
    }
    </script>
    </head>
    <body>
    </p>
    <p>———————–</p>
    <form>
    <p>
    <h3>Prijs per Spel, Inclusief Verzendkosten:</h3>
    <br>
    <input name="prijs" type="text" value="17.95" size="10" maxlength="5" readonly="true" />
    <br/>
    aantal:<br>
    <input name="meters" type="text" onChange="javascript:TelOp()" value="0" size="2" maxlength="2">
    <br/>
    Sub Totaal:<br>





    <script>
    function dothis() {
    var fielda = parseFloat(document.form2.uitkomst.value);
    var fieldb = parseFloat(document.form2.field2.value);
    document.form2.Totaal.value = (fielda+fieldb);
    }
    </script>
    </head>
    <body onload="dothis()">
    <form name="form2">
    <input name="uitkomst" type="text" size="10" readonly="true">
    <input name="field2" type="text" value="6.20" size="10" maxlength="4" />
    <br>
    <input type="text" name="Totaal" />
    <input type="button" value="update" onclick="dothis()" />







    <br><br>
    <input type="submit" value="Verzenden">
    <input type="reset" value="Wissen">
    </form>
    </body>
    </html>
    :( :(
  • schoon eerst je code even op, ik tel volgens mij 3 body tags ofzo..
  • [quote:1265e30a8a="teacher"]schoon eerst je code even op, ik tel volgens mij 3 body tags ofzo..[/quote:1265e30a8a]

    Het is zeker weten een zooitje ja. Sowieso werkt je script ook niet in Firefox.

    En nog even een laatstje puntje: Het is geen java maar java[b:1265e30a8a]script[/b:1265e30a8a]! Dat is een heel verschil, ondanks dat de naam anders doet vermoeden.
  • Allereerst ben ik het natuurlijk eens met de heren hierboven me. Het script is een beetje een rommeltje en dat maakt het debuggen er niet makkelijker op. Als de code recht-toe-recht-aan is, dan kan je deze ook beter 'lezen' en zo begrijpen wat er allemaal op welk moment wordt uitgevoerd. Als je nauwkeurig en netjes werkt, wordt de kans op fouten sowieso ook een stuk kleiner.

    Maar, dat gezegd hebbende, heb ik wel even naar je code gekeken en ben er eens flink met de bezem doorheen gegaan. Kijk eens rustig wat het nu is geworden. Ik ga ervan uit dat je op basis van deze code wel weer verder kan.

    Een belangrijke tip:
    Spreek form-elementen aan via [i:b55bb0312b]document.forms['formnaam'].elements['inputnaam'][/i:b55bb0312b] of [i:b55bb0312b]document.forms[formvolgnr].elements[elementvolgnr][/i:b55bb0312b]. Die methode werkt in alle browsers en geeft ook de minste kans op fouten. Als je wat meer bekend bent met javascript, dan zou je er ook voor kunnen kiezen om de elementen via het DOM (getElementById) te benaderen.

    [code:1:b55bb0312b]
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    .style1 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    </style>
    <script type="text/javascript">
    function geldopmaak(x) {
    // zorgt ervoor dat floats als 0.00 string worden teruggeven
    // werking: bepaal positie van de punt en plak eventueel wat nullen aan de string
    // als er een tweede parameter wordt meegegeven, dan wordt deze voor de string geplakt (bijv '€ ')
    var prefix = arguments[1] || '';
    var bedrag = (Math.round(x*100)/100).toString(); // afrondingstrucje
    var punt = bedrag.indexOf('.');
    if (punt == -1) {
    bedrag += '.00';
    }
    else if ((bedrag.length-punt) == 2) {
    bedrag += '0';
    }

    return prefix + bedrag;
    }

    function bereken_totaal(f) {
    var fielda = parseFloat(f.elements['uitkomst'].value);
    var fieldb = parseFloat(f.elements['field2'].value);
    f.elements['Totaal'].value = geldopmaak(fielda+fieldb);
    }

    function bereken_subtotaal(f) {
    var waarde = f.elements['prijs'].value * f.elements['meters'].value
    f.elements['uitkomst'].value = geldopmaak(waarde);
    }
    </script>
    </head>
    <body>
    <form action="mailto:email@adres.com" method="post" enctype="text/plain" class="style1">
    <h3>Vul uw gegevens hieronder in.</h3>
    Naam:<br>
    <input type="text" name="naam" size="20">
    <br>
    Voornaam:<br>
    <input type="text" name="Voornaam" size="20">
    <br>
    Postcode, Plaats<br>
    <input name="Postcode" type="text" size="6" maxlength="6">
    <input type="text" name="Plaats" size="20" />
    <br>
    Straat, Nr.<br>
    <input type="text" name="Straat"size="20">
    <input name="Nr." type="text"size="6" maxlength="6" />
    <br>
    Telefoon<br>
    <input type="text" name="Telefoon" size="20">
    <br>
    Email<br>
    <input type="text" name="Email" size="20">
    <br>
    Aantal<br>
    <input name="Email" type="text" size="2" maxlength="2">
    <br>
    Email<br>
    <input type="text" name="Email" size="20">
    <p>
    </p>
    <p>———————–</p>
    <p>
    <h3>Prijs per Spel, Inclusief Verzendkosten:</h3>
    <br>
    <input name="prijs" type="text" value="17.95" size="10" maxlength="5" readonly="true" />
    <br/>
    aantal:<br>
    <input name="meters" type="text" onchange="bereken_subtotaal(this.form)" value="0" size="2" maxlength="2">
    <br/>
    Sub Totaal:<br>
    <input name="uitkomst" type="text" size="10" readonly="readonly">
    <input name="field2" type="text" value="6.20" size="10" maxlength="4" />
    <br>
    <input type="text" name="Totaal" />
    <input type="button" value="update" onclick="bereken_totaal(this.form)" />
    <br><br>
    <input type="submit" value="Verzenden">
    <input type="reset" value="Wissen">
    </form>
    </body>
    </html> [/code:1:b55bb0312b]
  • Wanneer ik het goed begrijp wordt er aan het veld "Meters" de waarde nul toegekend.
    Vervolgens wordt deze waarde in een vermenigvuldiging gebruikt.
    Er staat mij iets van bij dat vermenigvuldigen met nul altijd als resultaat nul heeft.

    Overigens sluit ik niet uit dat ik iets verkeerd begrijp.

    Succes,

Beantwoord deze vraag

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