Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

een veld verplicht invullen

10 antwoorden
  • hallo allemaal, ik heb een inschrijfformulier voor deelname aan cursussen. Nu gebeurt het nogal eens dat men het opstuurt zonder alle gegevens in te vullen. is het mogelijk om verzenden alleen mogelijk te maken als ze hun email of adres gegevens hebben ingevuld? (bij een ander form is het me wel gelukt om op alle velden een invulplicht erop te zetten, bij dit form wil ik echter alleen bij de adres gegevens en/of email adres die verplichting erop te zetten.) form gaat niet via mailto maar mbv cgi tweede puntje: na verzending moet er een dankjewel pagina komen. deze verschijnt niet, wel de pagina waarop de ingevulde gegevens staan vermeld. [quote:9d74ed9d96] stukje code<form name="form" method="post" action="http://www.xxxxxxx.nl/cgi-bin/cgiemail/computer.txt"> <p> <input type="hidden" name="nextpage"value="http://www.xxxxxxx.nl/bedankt.htm">[/quote:9d74ed9d96]
  • Je kan met javascript willekeurige velden controleren:[code:1:155bc2a14f] <script type="text/javascript"> //<![CDATA[ window.onload = function() { document.getElementById('<formuliernaam>').onsubmit = function() { if(document.getElementById('<veldnaam>').value == '') { alert('Verplicht veld invullen a.u.b.!'); document.getElementById('<veldnaam>').focus(); return false; } } } //]]> </script> [/code:1:155bc2a14f] Dit script controleert 1 bepaald veld, geeft een waarschuwing en zet de focus op het veld. Maar je kan het natuurlijk uitbreiden met meerdere velden die je wil controleren. Voor wat betreft je tweede puntje: volgens mij moet je in cgi script de pagina redirecten naar de dank-pagina, maar hoe dat moet weet ik niet.
  • met één invulveld werkt het, maar zodra ik er meerdere vraag werkt het weer niet. : dank je wel pagina: hoe ik dat moet redirecten in de tekst file van het form snap ik niet
  • [quote:5446e779b0="katrien"]met één invulveld werkt het, maar zodra ik er meerdere vraag werkt het weer niet. [/quote:5446e779b0] Als het goed is, dan zou je gewoon het hele if-gedeelte moeten kopieren voor ieder veld wat je wil controleren. Maar, dat kan redelijk bewerkelijk worden, dus ik heb even wat rondgezocht en gepuzzeld, en nu heb ik iets waarmee je aan de hand van een class-attribuut kunt bepalen of een veld wel of niet gecontroleerd moet worden. Klinkt ingewikkeld als ik het zo terug lees, maar het valt wel mee. Ik geef even de code voor een hele html-pagina, dan is het waarschijnlijk wat duidelijker. [code:1:5446e779b0] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Formulier test</title> <script type="text/javascript"> //<![CDATA[ function getElementsByClass(searchClass,node,tag) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)'); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } window.onload = function() { document.getElementById('fName').onsubmit = function() { var reqs = getElementsByClass('verplicht'); for(var i = 0; i < reqs.length; i++) { if(document.getElementById(reqs[i].id).value == '') { alert('Verplicht veld invullen a.u.b.!'); document.getElementById(reqs[i].id).focus(); return false; } } } } //]]> </script> </head> <body> <form id="fName" method="post"> <input type="text" class="verplicht" id="reqText" /></br /> <input type="text" class="verplicht" id="reqText2" /></br /> <input type="text" id="nonreqText" /> <input type="submit" value="Klik" /> </form> </body> </html> [/code:1:5446e779b0] Zoals je ziet, is er een extra functie bijgekomen: getElementsByClass. Deze functie maakt een verzameling van elementen die een class-attribuut met een bepaalde naam hebben. In dit geval "verplicht". In de hoofdfunctie kun je nu door deze collectie elementen heengaan (in de for-lus) en controleren of het veld gevuld is. [quote:5446e779b0="katrien"]: dank je wel pagina: hoe ik dat moet redirecten in de tekst file van het form snap ik niet[/quote:5446e779b0]Hoe ziet het cgi-script eruit dat de informatie verwerkt? Dat zou denk ik wel helpen om je verder te kunnen helpen.
  • http://web.mit.edu/wwwdev/cgiemail/ En daar kan je [url=http://web.mit.edu/wwwdev/cgiemail/user.html#required]hier[/url] het volgende vinden: [quote:e3c86c0eda]Optional: Make some inputs required. If you would like to automatically reject forms with certain inputs left blank, add the prefix ``required-'' to the name of the input in both your HTML form and your e-mail template. Here is an example: In the HTML form: Your name: <INPUT NAME="required-yourname"> In the e-mail template Your name: [required-yourname] Note: With release 1.4, the prefix cgiemail uses to recognize a required field is ``required'' without the hyphen. You should still add a hyphen for readability, but you have the option of using an underscore (better for interaction with JavaScript) or nothing at all.[/quote:e3c86c0eda] Over het redirecten: http://web.mit.edu/wwwdev/cgiemail/user.html#success enjoy :)
  • dank meneer Ed, het werkt. en .... ik snap wat er in het script gebeurt (heb ooit php gedaan). wat betreft cgi script......euhm ik weet niet goed waar ik het vind of wat je precies bedoelt... is dat het text bestand wat ik ook geupload heb ? groetjes Katrien
  • Je verstuurd met een script op de server. Dat script "stuur je aan" met dat txt bestand wat je op de site hebt gezet. De links die ik gaf zijn, als het goed is, de uitleg over dat script. t.
  • ha teacher, dank voor de info, bij mijn beantwoording aan mr Ed heb ik deze niet zien staan... ( al een paar dagen een beetje 'strijd' met dit forum kan soms niet inloggen, soms opent het forum helemaal niet, mischien dat het daardoor komt))
  • Dank voor de link naar cgi het verder 'prullen'met het cgi script lukt niet. de gegevens komen wel gewoon via de email binnen, alles recht onder elkaar [quote:9b397d9a13]cursus no 23 dinsdag 09.30 uur start 5 juni 2006 cursusvraag =........... aanhef =dhr naam =xyz voorletter =w roepnaam =jan straat =thuislaan huisnummer =12 postcode =1234 woonplaats =stad telefoon =123456789 emailadres =rew@rty.poi [/quote:9b397d9a13] Is het mogelijk een layout te maken in het txt bestand wat met de gegevens terug komt? addendum toevoegen lukt ook nog wel, maar een eigen succes pagina gaat niet
  • [quote:925c4ebbb5="katrien"]Dank voor de link naar cgi het verder 'prullen'met het cgi script lukt niet. de gegevens komen wel gewoon via de email binnen, alles recht onder elkaar [quote:925c4ebbb5]cursus no 23 dinsdag 09.30 uur start 5 juni 2006 cursusvraag =........... aanhef =dhr naam =xyz voorletter =w roepnaam =jan straat =thuislaan huisnummer =12 postcode =1234 woonplaats =stad telefoon =123456789 emailadres =rew@rty.poi [/quote:925c4ebbb5] Is het mogelijk een layout te maken in het txt bestand wat met de gegevens terug komt? [/quote:925c4ebbb5] Je bedoelt iets als dit? [quote:925c4ebbb5] dhr jan xyz, adres thuislaan 12 in stad, heeft zich ingeschreven. Contact via mail rew@rty.poi [/quote:925c4ebbb5] Ja. Dat kan. Om in mijn voorbeeld te blijven[code:1:925c4ebbb5] To: ontvanger@mail.adres Subject: Inschrijving [aanhef] [roepnaam] [naam], adres [straat] [huisnummer] in [woonplaats], heeft zich ingeschreven. Contact via mail [emailadres][/code:1:925c4ebbb5] [quote:925c4ebbb5="katrien"] addendum toevoegen lukt ook nog wel, maar een eigen succes pagina gaat niet[/quote:925c4ebbb5]Ik roep zelf dat ze niet bestaan ;), maar toch een stomme vraag, heb je de pagina met je formulier wel opnieuw geladen? En als dat het geval is, hoe ziet je "success"-input er uit?

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

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