login  Naam:   Wachtwoord: 
Registreer je!
Scripts > JavaScript > Formulieren > Controleren van velden in alert vorm


Reacties op het script Controleren van velden in alert vorm

Offline  Thomas
Gepost op: 20 maart 2005 - 13:53
Moderator



Hm, laten we eens gaan kijken:

  1. <SCRIPT language="JavaScript">
  2. function validate(form) {
  3. if (form.veld naam.value=="") {
  4. alert("Bericht wat je te zien krijgt als het veld niet is ingevuld");
  5. return false;
  6. } else if (form.veld naam.value=="") {
  7. alert("Bericht wat je te zien krijgt als het veld niet is ingevuld");
  8. return false;
  9. }
  10. }
  11. </SCRIPT>


Ik heb altijd de gewoonte om te werken met document.forms['form_naam'].elements['element_naam'] omdat dit gewoon de minste problemen oplevert. Je kan natuurlijk ook met getElementById (oid) werken.
Deze functie kun je jammergenoeg maar voor één veld (namelijk de "veld naam" die je IN de functie invult) gebruiken. Wat als je hier nou eens een parameter van maakte ?

Verbetering #1:
  1. <SCRIPT language="JavaScript">
  2. function validate(form, field) {
  3. if(document.forms[form].elements[field].value == "") {
  4. window.alert("Bericht wat je te zien krijgt als het veld niet is ingevuld");
  5. return false;
  6. } else if (document.forms[form].elements[field].value == "") {
  7. window.alert("Bericht wat je te zien krijgt als het veld niet is ingevuld");
  8. return false;
  9. }
  10. }
  11. </SCRIPT>


Verder is mij het verschil tussen het if-statement en het else-if statement niet helemaal duidelijk. Sterker nog: er is geen verschil tussen het if-statement en het else-if statement.

Verbetering #2:
  1. <SCRIPT language="JavaScript">
  2. function validate(form, field) {
  3. if(document.forms[form].elements[field].value == "") {
  4. window.alert("Bericht wat je te zien krijgt als het veld niet is ingevuld");
  5. return false;
  6. }
  7. }
  8. </SCRIPT>


Verder wordt er niets gereturned als de invoer wel goed is.

Verbetering #3 (functies horen één return-statement te hebben):
  1. <SCRIPT language="JavaScript">
  2. function validate(form, field) {
  3. var ret = true; // we gaan er default van uit dat de invoer goed is
  4. if(document.forms[form].elements[field].value == "") {
  5. window.alert("Bericht wat je te zien krijgt als het veld niet is ingevuld");
  6. ret = false;
  7. }
  8. return ret;
  9. }
  10. </SCRIPT>


Verbetering #4:
Als iemand "niet-lege" invoer invoert (een spatie, tab of newline), dan is deze controle al om zeep. Je wilt dus eigenlijk een soort van trim-functie in JavaScript. Deze kun je hier vinden en in deze functie verwerken...

Offline  Dekin
Gepost op: 21 maart 2005 - 21:21
Nieuw lid



Hmm hij doet het niet bij mij. Zal wel aan mijn editor liggen want ik weet dat ie werkt;-) .
Goed script:D Weer wat puntjes verdient:p


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.056s