Inschrijvingsformulier met opstelsommen via PHP

Status
Niet open voor verdere reacties.
Slordigheidje van mij. Verander de regel waar nu staat
Code:
prijstotaal.value = totaal
naar
Code:
document.getElementById("prijstotaal").value = totaal
Dan zou de javascript code ook in IE moeten werken.

edit: spuit11 etc :)
 
Laatst bewerkt:
Ok, bedankt Erik, werkt nu!

Nog 1 ding: kan in de kolom 'Aantal' de default waarde op '0' staan? Anders komt er in 'Totaal' per lijn/gerecht 'Vul een getal in' als je met de TAB-toets naar het volgende veld springt.

Het is een detail, ik weet het :D
 
Kwestie van value='0' toevoegen. Oud:
PHP:
<input type='text' name='menu[".$k."]' id='menu".$k."' onkeyup='gerecht(".$k.",this.value,".$v[1].");totaal();' />
Nieuw:
PHP:
<input type='text' name='menu[".$k."]' id='menu".$k."' value='0' onkeyup='gerecht(".$k.",this.value,".$v[1].");totaal();' />
 
Jullie hebben mij al fantastisch geholpen. Ik heb echter nog 1 vraag: als er velden van het formulier worden leeggelaten wordt er geen foutmelding gegeven maar wordt het formulier gewoon gewist.

Nochtans staat deze code ertussen, dit is niet voldoende. Wat moet er nog toegevoegd worden aub?

PHP:
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["naam"]) && isset($_POST["voornaam"]) && isset($_POST["email"]) && !empty($_POST["naam"]) && !empty($_POST["voornaam"]) && !empty($_POST["email"])) {

PHP:
<?php

$menu = array(
        1=>array("Grote portie mosselen + frieten",14),
        2=>array("Kleine portie mosselen + frieten",12),
        3=>array("Grote portie mosselen + brood ",13),
        4=>array("Kleine portie mosselen + brood",11),
        5=>array("Videe + frieten ",12),
        6=>array("Videe + brood ",11),
        7=>array("Koude schotel + frieten",10),
		8=>array("Koude schotel + brood",9),
		9=>array("Curryworst + frieten + drankje",5)
    );	
    if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["naam"]) && isset($_POST["voornaam"]) && isset($_POST["email"]) && !empty($_POST["naam"]) && !empty($_POST["voornaam"]) && !empty($_POST["email"])) {
        //in de volgende 3 regels indien gewenst extra checks aanbrengen
        $naam = $_POST["naam"];
        $voornaam = $_POST["voornaam"];
        $email= $_POST["email"];
        
        $gerechten = "";
        $totaal = 0;

		foreach ($_POST["menu"] as $k => $v) {
            if (!empty($v) && array_key_exists($k, $menu)) {
                $gerechten .= $v." X ".$menu[$k][0]." aan EUR ".$menu[$k][1]." = EUR ".($v*$menu[$k][1])."\n";
                $totaal += $v*$menu[$k][1];
            }
           }

$onderwerp = "Inschrijving mosselfeest";
$bericht = "Beste ".$voornaam.",


Bedankt voor de reservering. Wij hebben de volgende informatie van u ontvangen:
 
Voornaam: ".$voornaam."
Naam: ".$naam."
Telefoon: ".$telefoon."
E-mailadres: ".$email."
 
Uw menukeuze:

".$gerechten."

Gelieve het totaalbedrag van EUR ".$totaal." te storten op rekeningnummer 789-5362512-79 van Vlimmeren Sport met de vermelding: 'Mosselfeest ".$voornaam." ".$naam."'.
 
Wij verwachten u op ".$verwacht.". Tot dan!

Met sportieve groeten,


Bestuur Vlimmeren Sport";
 
        $headers = "From: ".$voornaam." ".$naam." <".$email.">\r\n";
        $headers .= "Bcc: [email]wouterduerinck@hotmail.com[/email]\r\n";
        if (mail($email, $onderwerp, $bericht, $headers)) {
            echo "Bedankt, wij hebben uw reservering goed ontvangen. U krijgt een e-mail ter bevestiging. Gelieve het totaalbedrag van EUR ".$totaal." te storten op rekeningnummer 789-5362512-79 van Vlimmeren Sport met vermelding van 'Mosselfeest ".$voornaam." ".$naam."'.";
        } else {
            echo "Kan geen e-mail versturen. De reservering is NIET vastgelegd. Probeer het opnieuw aub of contacteer ons via mail.";
        }
        die();
    }
?>
<style>
    label {
        width: 100px;
        float:left;
    }
body {
	background-image: url(../images/logovlimmerenachtergrond.GIF);
}
</style>
<script language="javascript" type="text/javascript">
    function gerecht(id, aantal, prijs) {
        if (isNaN(parseInt(aantal))) {
            document.getElementById("prijs"+id).value = "Vul een getal in"
        } else {
            document.getElementById("prijs"+id).value = aantal * prijs
        }
    }
    function totaal() {
        var totaal = 0
        for (var i=1; i <= <?php echo count($menu); ?>; ++i) {
            var waarde = document.getElementById("prijs"+i).value
            if (!isNaN(parseInt(waarde))) {
                totaal += parseInt(waarde)
            }
        }
        document.getElementById('prijstotaal').value = totaal
    }
</script>
<h2>Inschrijvingsformulier Mosselfeest 23, 24 & 25 oktober</h2>
<form method="post" action="mosselfeest.php">
    <table border='1'>
        <tr><td colspan='4'>Kies één of meerdere menu's</td></tr>
        <tr><td>&nbsp;</td><td>Prijs</td><td>Aantal</td><td>Totaal</td></tr>
        <?php
            foreach ($menu as $k => $v) {
                echo "<tr><td>".$v[0]."</td><td>&euro;".$v[1]."</td><td><input type='text' name='menu[".$k."]' id='menu".$k."' onkeyup='gerecht(".$k.",this.value,".$v[1].");totaal();' /></td><td><input type='text' name='prijs".$k."' id='prijs".$k."' value='0' disabled='disabled' /></td></tr>\n";
        }
        ?>
        <tr><td colspan='3'>ALGEMEEN TOTAAL (IN EUR):</td><td><input type='text' name='menutotaal' id='prijstotaal' value='0' disabled='disabled' /></td></tr>
    </table>
    <p>Wanneer wenst u te komen eten?</p>
    <input type="radio" name="verwacht" value="vrijdag 23 oktober 18u-18u30" /> Vrijdag 18u-18u30<br>
	<input type="radio" name="verwacht" value="vrijdag 23 oktober 19u-19u30" /> Vrijdag 19u-19u30<br>
	<input type="radio" name="verwacht" value="vrijdag 23 oktober 20u-20u30" /> Vrijdag 20u-20u30<br><br>
    <input type="radio" name="verwacht" value="zaterdagmiddag 24 oktober 11u-14u" /> Zaterdagmiddag 11u-14u<br>
	<input type="radio" name="verwacht" value="zaterdagavond 24 oktober 17u-17u30" /> Zaterdagavond 17u-17u30<br>
	<input type="radio" name="verwacht" value="zaterdagavond 24 oktober 18u-18u30" /> Zaterdagavond 18u-18u30<br>
	<input type="radio" name="verwacht" value="zaterdagavond 24 oktober 19u-20u" /> Zaterdagavond 19u-20u<br><br>
    <input type="radio" name="verwacht" value="zondagmiddag 25 oktober 12u-14u" /> Zondagmiddag 12u-14u (beperkt tot 60 personen!)<br><br>
    <label for="voornaam">Voornaam*:</label>
    <input type="input" name="voornaam" /><br>
    <label for="naam">Naam*:</label>
    <input type="input" name="naam" /><br>
	<label for="telefoon">TEL/GSM*:</label>
	<input type="input" name="telefoon" /> 
	Wij kunnen u dan, indien nodig, contacteren om het exacte uur te bevestigen.<br>
    <label for="email">E-mailadres*:</label>
    <input type="input" name="email" /><br><br>
    Gelieve alle velden die u hebt ingevuld na te kijken voor u op 'Versturen' klikt. De velden aangeduid met * alsook 1 dag en uur zijn verplicht in te vullen! <br>
    <input type="submit" value="Versturen" />
</form>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan