Vereinfachin der vielen if Abfragen über ein array

mkoeni1

Erfahrenes Mitglied
Hallo Leute,

ich habe ein Formular und speichere die Element in einem Array. Das sieht so aus:
PHP:
<script language="JavaScript">
// Formular Eingaben pruefen
function check_form(){
  // Pruefen, ob der Benutzername nicht leer ist
  // zB. erstes Formular drittes Feld - window.document.forms[0].elements[2].value
  var fFelder = new Array(6);
for (var i = 0; i < fFelder.length; ++i){
  fFelder[i] = document.forms['register'].elements[i].value;
}
  
  // Fuehrende Leerzeichen aus dem Bentzernamen entfernen
  if(fFelder[0] == ""){
    alert("Bitte einen Benutzername eintragen!");
    return false;
  }
  if(fFelder[1] == ""){
    alert("Bitte eine erste E-Mail-Adresse eintragen!");
    return false;
  }
  if(fFelder[2] == ""){
     alert("Bitte die E-Mail-Adresse bestaetigen!");
    return false;
  }
   if(fFelder[3] == ""){
     alert("Bitte ein Passwort eintragen!");
    return false;
  }
   if(fFelder[4] == ""){
     alert("Bitte das Passwort bestaetigen!");
    return false;
  }
   if(fFelder[5] == ""){
     alert("Bitte die Kombination!");
    return false;
  }
}
</script>
Wie kann ich diesen Code vereinfachen? Kann mir jemand damit helfen? Mit vereinfachen könnte ich mir vorstellen, die ganzen if Abfragen in einem switch case zu lösen. und die String ausgaben aus einem Array zu holen.

Viele Grüße
Matze
 
Zuletzt bearbeitet:
Hier mal ein kurzes Beispiel, wie man das vereinfachen kann:
Code:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function checkForm(e)
{
  a=['Fehler1','Fehler2','','Fehler4','Fehler5'];
  for(i=0;i<a.length;++i)
    {
      if(a[i]!='' && !e[i].value.match(/\S/)){alert(a[i]);e[i].focus();return false;}
    }
  return true;
}
//-->
</script>
<style type="text/css">
<!--
-->
</style>
</head>
<body>
<form onsubmit="return checkForm(this.elements)">
  <input name="feld1">
  <input name="feld2">
  <input name="feld3" type="checkbox">
  <input name="feld4">
  <input name="feld5">
  <input type="submit">
</form>
</body>
</html>

Du gibst schlicht in dem Array für jedes Feld eine Fehlermeldung ein, ....soll ein Feld ausgelassen werden, einen leeren String.

Ein Tutorial zu einer etwas umfangreicheren Prüfung der Formulareingaben findest du hier: http://www.tutorials.de/forum/javas...ascript-formulareingaben-pruefen-vol-2-a.html
 

Neue Beiträge

Zurück