David Di Donato: Problem Formularprüfung mit FIREFOX

Beitrag lesen

hallo zusammen

habe folgendes problem mit Javascript und FireFox....IE ist absolut kein problem....

hier ein kurzer ausschnitt HTML Code(Input)...
*****************
.......
.......
function SimBerechnen()
     {

if (validateForm(document.frm))
  {
.........
.........
<form name="frm" method="post" action="" onsubmit="" target="oben">
..............
.........
<input  type="text" class="evTextBox" name="ValDatum" value="26.12.2006" size="12" maxlength="12" id='ValDatum' tabindex='1' validator='Datum' fehler='Berechnungsdatum'>
...........
...........
************ DAS IST EINGABEMASKE (Ausschnitt) *******

und hier nun meine Javascript Bibliothek ValidateForm
*****************************************************
function validateForm(theForm) {

var elArr = theForm.elements;

for(var i = 0; i < elArr.length; i++) {

with(elArr[i]) {

if (elArr[i].type =='submit' || elArr[i].type =='reset' || elArr[i].type =='hidden')
    {
    }
    else
    {
          var v = elArr[i].validator;

if (v == "NULL")
     {
       //Weiter in Schlaufe machen !!!
     }
     else
     {
     if (verifypflicht(value,elArr[i].fehler) == false)
    {
     elArr[i].focus();
     elArr[i].select();
     return false;
    }
     if (v == "Zahl")
     {
    if (verifyzahl(value) == false)
    {
     elArr[i].focus();
     elArr[i].select();
     return false;
    }
     }

if (v == "Datum")
     {
       if (verifydatum(value) == false)
    {
     elArr[i].focus();
     elArr[i].select();
     return false;
    }
      }
   }
    }
       }
    }

return true;

}

function verifypflicht(wert,fehler)
{
 if (wert == "")  // Pflichtfeld und leer
 {
  var error = "";
  alert (fehler +" / Pflichtfeld!!");
  return false;
 }
}

function verifyzahl(zahl)
{
 var bereich = "0123456789'";
 var punkt = 0
 for (var i = 0; i < zahl.length; i++)
 {
  if (bereich.indexOf(zahl.charAt(i)) == -1)
  {
   if (zahl.charAt(i) == "." && punkt < 1)
   {
    punkt = punkt + 1;
   }
   else
   {
    alert("Ungültige Zahl");
    return false;
   }
  }
 }
}

function verifydatum(datum)
{
 var error = "";
 var datePat = /^(\d{1,2})(.)(\d{1,2})\2(\d{4})$/;
 var matchArray = datum.match(datePat); // ist das format ok?

if (matchArray == null)
 {
  //error = fFeld + name + ": " + fDatum;
  alert ("Datum ungültig");
  return false;
 }
 tag = matchArray[1];
 monat = matchArray[3];
 jahr = matchArray[4];

if (monat < 1 || monat > 12)   // check Monatbereich
 {
  //error = fFeld + name + ": " + fMonat12;
  alert ("Monatsbereich ungültig !!");
  return false;
 }

if (tag < 1 || tag > 31)    // check Tagebereich
 {
  //error = fFeld + name + ": " + fTag;
  alert ("Tagesbereich ungültig !!");
  return false;
 }

if ((monat==4 || monat==6 || monat==9 || monat==11) && tag==31) // check Monate mit nur 30 Tagen
 {
  //error = fFeld + name + ": " + fMonat + " " + monat + " " + fMonatTag;
  alert ("Monate haben nur 30 Tage !!");
  return false;
 }

if (monat == 2)      // check fuer 29. Februar
 {
  var isleap = (jahr % 4 == 0 && (jahr % 100 != 0 || jahr % 400 == 0));
  if (tag > 29 || (tag == 29 && !isleap))
  {
   //error = fFeld + name + ": " + fFeb + " " + jahr + " " + fText + " " + tag + " " + fTage;
   alert ("Check februar !!!");
   return false;
  }
 }
 return true;  // Datum ist gueltig
}
*******************************

habe das Problem beim Datum.....sagt immer --> Undefined / Pflichtfeld....

bitte helft mir.....

gruss
david di donato