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