anoniem Geplaatst: 12 december 2002 Delen Geplaatst: 12 december 2002 Ik gebruik een script waarbij enkele velden verplicht ingevuld dienen te worden, dit gebeurt met onderstaande code: code: -------------------------------------------------------------------------------- if(defined($form->param('Voornaam'))){ $firstName = $form->param('Voornaam'); } else{ $notDefined .= "\nVoornaam<BR>"; } if(defined($form->param('Achternaam'))){ $lastName = $form->param('Achternaam'); } else { $notDefined .= "\nAchternaam<BR>"; } if(defined($form->param('E-mail adres'))){ $emailAddress = $form->param('E-mail adres'); } else { $notDefined .= "\nE-mail adres<BR>"; } if(defined($notDefined)) { print <<"EOE"; <HTML> <HEAD> <TITLE>Fout</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> De html file van waaruit dit script gestart is bevat geen veld genaamd: <BR><BR>$notDefined <BR> Zonder deze velden kan dit script niet werken. <BR><BR> Neem contact op met de beheerder van deze site <BR><BR> Klik <A HREF="$homepage">hier</A> om door te gaan... </BODY> </HTML> EOE exit 1; } $form->delete('button'); @names = $form->param; -------------------------------------------------------------------------------- Dit werkt, maar hoe kan ik nu toevoegen dat: Als een ander veld, bijvoorbeeld "klantnummer" is ingevuld, dat de bovenstaande velden niet meer verplicht zijn, en dat het formulier verstuurd kan worden met alleen het veld "klantnummer" ingevuld. Als "klantnummer" niet is ingevuld, dan moeten de overige velden wel verplicht zijn. Quote Link naar reactie
anoniem Geplaatst: 12 december 2002 Auteur Delen Geplaatst: 12 december 2002 even simpel: if $klantnummer.value !="" {hier verder met check} else {hier versturen} toch? t. Quote Link naar reactie
anoniem Geplaatst: 13 december 2002 Auteur Delen Geplaatst: 13 december 2002 Sorry, niet de goede code geplaatst. Hier worden de velden gecontroleerd of ze ingevuld zijn: [code:1:7dd1372621] sub checkError{ my $whichForgotten=undef; if (!$firstName) { $whichForgotten .= "<LI>Uw voornaam\n"; } if (!$lastName) { $whichForgotten .= "<LI>Uw achternaam\n"; } if (!$gsm) { $whichForgotten .= "<LI>Het GSM nummer"; } if (!$emailAddress) { $whichForgotten .= "<LI>Uw e-mail adres"; } if (defined $whichForgotten) { print <<"EOT"; <BR><BR> <FONT FACE="ARIAL" SIZE="2" COLOR="$fColor"> <H3>$error</H3> $errorNote<BR> <BR> <UL> $whichForgotten </UL> <BR><BR> Klik <A HREF="javascript:history.back()">hier</A> om terug te gaan..<BR> Of gebruik de "Terug" knop van uw brower. </FONT> </TD> </TR> EOT exitScript("",1); } elsif(checkEmail($emailAddress)) { print <<EOT; <BR><BR><BR> <FONT FACE="ARIAL" SIZE="2" COLOR="$fColor"> <H3>$error</H3> <BR> U heeft een ongeldig e-mail adres ingevuld.<BR> <BR><BR> Klik <A HREF="javascript:history.back()">hier</A> om terug te gaan..<BR> Of gebruik de "Terug" knop van uw brower. </FONT> </TD> </TR> EOT exitScript("",1); } } [/code:1:7dd1372621] Nu heb ik dus een veld klantnummer. Hoe kan ik het zo inpassen, dat als klantnummer is ingevuld dat de controles op de andere velden niet meer worden uitvoerd? Quote Link naar reactie
anoniem Geplaatst: 13 december 2002 Auteur Delen Geplaatst: 13 december 2002 Opgelost met de volgende toevoeging: if(length($ticket) > 1) { #exitScript("",1); } else { Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen