Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

inschrijfformulieren probleem

Anoniem
katrien
4 antwoorden
  • beste mensen,
    ik gebruik twee formulieren op een website waarmee men zich kan inschrijven voor een cursus. Beide werken door onverklaarbare wijze niet meer naar behoren: de gegevens worden niet meer allemaal doorgestuurd Wie weet waar ik het zoeken moet om het weer werkend te krijgen?
    een van de formulieren ziet er als volgt uit: [code:1:33d12f1eb2]
    <form action="mailto:xxxxx@xx.nl?subject=Antwoordformulier" method="POST" name="Formulier" enctype="text/plain" WRAP="PHYSICAL" onSubmit="return checkForm(this)">
    <table>
    <!–DWLayoutTable–>
    <tr>
    <td width="129" height="19" align="right" valign="top" class="bodyText"><div align="left">
    <label for="mv" class="altLabel">
    <div align="right"><strong>uw gegevens</strong></div>
    </label>
    </div></td>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td class="bodyText"><div align="right">aanhef</div></td>
    <td colspan="2"> <input type="radio" name="aanhef" value="Dhr." checked="checked" />
    dhr.
    <input type="radio" name="aanhef" value="Mevr." />
    mevr.</td>
    </tr>
    <tr>
    <td class="bodyText"><div align="right">naam</div></td>
    <td colspan="2"><input type="text" id="naam" name="naam" size="40" /></td>
    </tr>
    <tr>
    <td class="bodyText"><div align="right">roepnaam</div></td>
    <td colspan="2"><input type="text" id="voornaam" name="voornaam" size="40"></td>
    </tr>
    <tr>
    <td class="bodyText"><label for="voorletters">voorletter(s)</label></td>
    <td colspan="2"><input type="text" id="voorletters" name="voorletters" size="40"></td>
    </tr>
    <tr>
    <td class="bodyText"><label for="straat">straat</label></td>
    <td colspan="2"><input type="text" id="straat" name="straat" size="40"></td>
    </tr>
    <tr>
    <td class="bodyText"><label for="huisnummer">huisnummer</label></td>
    <td colspan="2"><input type="text" id="huisnummer" name="huisnummer" size="40"></td>
    </tr>
    <tr>
    <td class="bodyText"><label for="postcode">postcode</label></td>
    <td colspan="2"><input type="text" id="postcode" name="postcode" size="40"></td>
    </tr>
    <tr>
    <td class="bodyText"><label for="woonplaats">woonplaats</label></td>
    <td colspan="2"><input type="text" id="woonplaats" name="woonplaats" size="40"></td>
    </tr>
    <tr>
    <td class="bodyText"><label for="telefoon">telefoon</label></td>
    <td colspan="2"><input type="text" id="telefoon" name="telefoon" size="40"></td>
    </tr>
    <tr>
    <td class="bodyText"><label for="emailadres">e-mailadres</label></td>
    <td colspan="2"><input type="text" id="emailadres" name="emailadres" size="40"></td>
    </tr>
    <tr>
    <td colspan="3">&nbsp;</td>
    </tr>
    <tr class="bodyText">
    <td align="right" class="bodyText"><strong>cursusgegevens:</strong></td>
    <td colspan="2" class="bodyText">schrijft in op:</td>
    </tr>
    <tr>
    <td class="bodyText">&nbsp;</td>
    <td width="97" class="bodyText"><label for="cursusnummer" class="altLabel">cursusnummer</label></td>
    <td width="299"> <input type="text" id="cursusnummer" name="cursusnummer" size="4" maxlength="5"> </td>
    </tr>

    <tr>
    <td class="bodyText">&nbsp;</td>
    <td width="97" class="bodyText"><label for="cursusnaam" class="altLabel">cursusnaam</label></td>
    <td width="299"> <input type="text" id="cursusnaam" name="cursusnaam" size="41" maxlength="120" /></td></label>
    </tr>
    <tr>
    <td class="bodyText">&nbsp;</td>
    <td class="bodyText"><label for="dag" class="altLabel">cursusdag</label></td>
    <td> <select id="dag" name="dag" size="1">
    <option>dag</option>
    <option>maandag</option>
    <option>dinsdag</option>
    <option>woensdag</option>
    <option>donderdag</option>
    <option>vrijdag</option>
    </select> </td>
    </tr>
    <tr>
    <td class="bodyText">&nbsp;</td>
    <td class="bodyText"><label for="tijd" class="altLabel">aanvangstijd</label></td>
    <td><input type="text" id="tijd" name="tijd" size="9"></input></td>
    </tr>
    <tr>
    <td valign="top"> <label for="opmerkingen" class="bodyText">opmerkingen</label> </td>
    <td colspan="2"> <textarea id="opmerkingen" name="opmerkingen" rows="3" cols="40"></textarea> </td>
    </tr>
    <tr>
    <td height="64" valign="top">&nbsp;</td>
    <td colspan="2"> <p>
    <input type="submit" value="Verzenden" onFocus="this.blur()">
    <input type="reset" value="Wissen">
    </p></td>
    </tr>
    </table>
    </form> [/code:1:33d12f1eb2]

    bijbehorende script ter voorkoming van lege velden:
    [code:1:33d12f1eb2]<script type="text/javascript">
    var err = 0;
    var errorMessages = new Array();

    // boodschap als er een waarde fout is. De key bestaat uit de name attribuut van een formulierelement
    errorMessages['mv'] = '\nmevrouw of dHr';
    errorMessages['naam'] = '\nuw naam';
    errorMessages['voorletters'] = "\nuw voorletter(s)";
    errorMessages['straat'] = "\nuw straatnaam";
    errorMessages['huisnummer'] = "\nuw huisnummer";
    errorMessages['postcode'] = "\nuw postcode";
    errorMessages['woonplaats'] = "\nuw woonplaats";
    errorMessages['telefoon'] = "\nuw telefoonnummer";
    errorMessages['emailadres'] = "\nuw e-mail adres";
    errorMessages['cursusnummer'] = "\nuw cursusnummer";
    errorMessages['cursusnaam'] = "\nuw cursusnaam";
    errorMessages['dag'] = "\nuw dag";
    errorMessages['tijd'] = "\nde aanvangsTijd";
    errorMessages['opmerkingen'] = "\nuw Opmerkingen";

    function checkForm(f)
    {
    var txt = 'De volgende gegevens zijn niet juist ingevuld:';
    var l = f.elements.length;

    // error op 0 zetten
    err = 0;

    // op zoek naar fouten bij alle elementen van het formulier
    for(var i = 0; i < l; i++)
    {
    // eerst kijken of het geen emailadres is
    if(f.elements[i].name == 'emailadres')
    {
    txt += isEmail(f.elements[i]);
    }
    // input elementen van het type text of een textarea
    else if(f.elements[i].type == 'text' || f.elements[i].type == 'textarea')
    {
    txt += isEmpty(f.elements[i]);
    }
    // selection elementen
    else if(f.elements[i].type.indexOf('select') > -1)
    {
    txt += isSelected(f.elements[i]);
    }
    // overige elementen (buttons e.d.)
    else
    continue;
    }

    // foutje…
    if(err == 1)
    {
    alert(txt);
    return false;
    }
    // alles ok!
    else
    {
    return true;
    }
    }

    function isEmpty(el)
    {
    if(el.value == '')
    {
    err = 1;
    return errorMessages[el.name];
    }
    else
    return '';
    }

    function isSelected(el)
    {
    if(el.selectedIndex == 0)
    {
    err = 1;
    return errorMessages[el.name];
    }
    else
    return '';
    }

    function isEmail(el)
    {
    if (el.value == "" || el.value.indexOf('@', 0) == -1 || el.value.indexOf('.') == -1)
    {
    err = 0;
    return errorMessages[el.name];
    }
    else
    return '';
    }
    </script> [/code:1:33d12f1eb2]
    alvast bedankt voor het meekijken.
    Het tweede formulier werkt met cgiemail via de server
    <form action="http://www.xxxxxxxxxxxx.nl/cgi-bin/cgiemail/testcomputer.txt" id="fName" method="post" name="form" enctype="text/plain" wrap="PHYSICAL" onsubmit="return checkForm(this);">:
    Maar ook hier worden de gegevens niet meer meegenomen
  • Kijk eens of je een pagina kan maken met daarin een kaal formulier (alleen een textarea ofzo) zonder checks en probeer die te versturen. Wat gebeurt er dan?
  • Ik gebruik een klein php script en dat heet action.php:
    [code:1:00e0a4da01]<?php
    echo 'GET data<br />';
    echo '<pre>';
    print_r($_GET);
    echo '</pre>';

    echo 'POST data<br />';
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
    ?>[/code:1:00e0a4da01]
    Als ik dan een form heb waar ik niet exact van weet wat eruit komt dan zet ik die action.php als form action. Invullen, klik en je hebt alle gegevens op het scherm.
    wimb
  • beetje late reactie - vakantietijd - ik ga het uitproberen.

Beantwoord deze vraag

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