Überprüfung des Datums
Joan
- javascript
0 Gerd Gruber0 joan0 Axel Richter0 Joan0 Axel Richter0 Joan0 Axel Richter0 joan
Hallöli,
kann mir vielleicht jemand helfen??
Ich binde irgendwie folgenden Code in die darunterstehende Funktion falsch ein. Der Code ist als Ergänzung gedacht, er überprüft die Eingabe auf ihre Richtigkeit und erst dann wird der Wochentag erzeugt.
Danke!
Code:
var Jetzt = new Date(tag);
if (isNaN(Number(Jetzt)))
{ReturnValue = ReturnValue + "Fehler im Eingabefeld "" + document.thueForm.tag + "" (kein Datumswert)\n";
Funktion:
function SagDat()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
document.thueForm.tag.value = Tag ;
document.thueForm.mon.value = Monat ;
document.thueForm.jah.value = Jahr ;
SagTag(Tag,Monat,Jahr);
}
function SagTag(tag,mon,jah)
{var jetzt = new Date(jah,mon,tag);
var WochenTag = new
Array (Freitag","Samstag","Sonntag","Montag","Dienstag","Mittwoch","Donnerstag");
document.thueForm.Wochentag.value = WochenTag[jetzt.getDay()]
}
}
Joan
Hallöli,
kann mir vielleicht jemand helfen??
Ich binde irgendwie folgenden Code in die darunterstehende Funktion falsch ein. Der Code ist als Ergänzung gedacht, er überprüft die Eingabe auf ihre Richtigkeit und erst dann wird der Wochentag erzeugt.
Danke!
Code:
var Jetzt = new Date(tag);
if (isNaN(Number(Jetzt)))
{ReturnValue = ReturnValue + "Fehler im Eingabefeld "" + document.thueForm.tag + "" (kein Datumswert)\n";
Funktion:
function SagDat()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
document.thueForm.tag.value = Tag ;
document.thueForm.mon.value = Monat ;
document.thueForm.jah.value = Jahr ;
SagTag(Tag,Monat,Jahr);
}
function SagTag(tag,mon,jah)
{var jetzt = new Date(jah,mon,tag);
var WochenTag = new
Array (Freitag","Samstag","Sonntag","Montag","Dienstag","Mittwoch","Donnerstag");
document.thueForm.Wochentag.value = WochenTag[jetzt.getDay()]
}
}
Joan
Hallo Joan,
hier sind wirklich einige Fehler enthalten:
Der Code müsste richt folgendermaßen lauten:
Funktion:
function SagDat() {
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear()+1900;
document.thueForm.tag.value = Tag ;
document.thueForm.mon.value = Monat ;
document.thueForm.jah.value = Jahr ;
SagTag(Tag,Monat,Jahr);
}
function SagTag(tag,mon,jah) {
var jetzt = new Date(jah,mon-1,tag);
var WochenTag = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
document.thueForm.Wochentag.value = WochenTag[jetzt.getDay()]
}
}
mit freundlichen Grüßen
Gerd
Hallo,
Funktion:
function SagDat() {
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear()+1900;
document.thueForm.tag.value = Tag ;
document.thueForm.mon.value = Monat ;
document.thueForm.jah.value = Jahr ;
SagTag(Tag,Monat,Jahr);
}
function SagTag(tag,mon,jah) {
var jetzt = new Date(jah,mon-1,tag);
var WochenTag = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
document.thueForm.Wochentag.value = WochenTag[jetzt.getDay()]
}
}
Meine Funktion hat so auch funktioniert. Es ging mir aber eigentlich darum, dass ich den darüberstehenden Code einbauen wollte. Und das immer zu Fehlern geführt hat.
Joan
Hallo,
Deine Funktion muss in keinem fall vorher die Richtigkeit einer Datumseingabe durch den Benutzer prüfen, weil sie eine solche Eingabe gar nicht verarbeitet:
<script language="JavaScript">
<!--
// (Heute)
function SagDat() {
var Jetzt = new Date(); // Jetzt ist jetzt das aktuelle Datum (01.10.2002)
var Tag = Jetzt.getDate(); // Tag ist jetzt der aktuelle Tag (01)
var Monat = Jetzt.getMonth() + 1; // Tag ist jetzt der aktuelle Monat + 1 (11)
var Jahr = Jetzt.getYear()+1900; //Jahr ist jetzt das aktuelle Jahr + 1900 ??? -> (3902)
document.thueForm.tag.value = Tag ; //In das Formular mit dem Namen "thueForm" wird in das input-Feld mit dem Namen "tag" der Wert Tag = der aktuelle Tag geschrieben.
document.thueForm.mon.value = Monat ; // s.o. für Monat
document.thueForm.jah.value = Jahr ; // s.o. für Jahr
SagTag(Tag,Monat,Jahr); // Die Funktion SagTag wird mit den Argumenten Tag(01), Monat(11), Jahr(3902) aufgerufen.
}
function SagTag(tag,mon,jah) {
var jetzt = new Date(jah,mon-1,tag); // Ein Datum aus tag(01), mon-1(10), und jah(3902) wird erstellt
var WochenTag = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
document.thueForm.Wochentag.value = WochenTag[jetzt.getDay()] // Der Wochentag des erstellten Datums wird in das Formularfeld "Wochentag" des Formulars "thueForm" geschrieben
}
//-->
</script>
<noscript></noscript>
<body onLoad="SagDat()">
<form name="thueForm">
<input type="Text" name="tag" value="" size="" maxlength="">
<input type="Text" name="mon" value="" size="" maxlength="">
<input type="Text" name="jah" value="" size="" maxlength="">
<input type="Text" name="Wochentag" value="" size="" maxlength="">
</form>
</body>
Mal abgesenen von den komischen Berechnungen, die Du da mit dem Datum anstellst, kann in >>keinem<< Fall ein ungültiges Datum entstehen.
Gruß
Axel
Hallo,
Mal abgesenen von den komischen Berechnungen, die Du da mit dem Datum anstellst, kann in >>keinem<< Fall ein ungültiges Datum entstehen.
Danke für die Erläuertung.
Aber ich glaube, ich drück mich irgendwie falsch aus.
Meine ursprünglich Funktion lautet:
function SagDat()
{ var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
document.thueForm.tag.value = Tag ;
document.thueForm.mon.value = Monat ;
document.thueForm.jah.value = Jahr ;
SagTag(Tag,Monat,Jahr);
}
function SagTag(tag,mon,jah)
{ var jetzt = new Date(jah,mon,tag);
var WochenTag = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
document.thueForm.Wochentag.value = WochenTag[jetzt.getDay()]
}
Die nimmt die eingegebenen Daten auf und "errechnet" den Wochentag.
Ich möchte aber kontrolieren, ob der Benutzer nicht z.B.: 81.13.3003
eingegeben hat. Das wäre ja quatsch.
Dazu habe ich folgenden Code bekommen:
if (isNaN(Number(Jetzt)))
{ReturnValue = ReturnValue + "Fehler im Eingabefeld "" + document.thueForm.tag + "" (kein Datumswert)\n";
Ich habe aber eij Problem mit dem einbinden, lauf immer wieder auf einen Fehler.
Joan
Hallo,
Meine ursprünglich Funktion lautet:
function SagDat()
{ var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
var Jahr = Jetzt.getYear();
document.thueForm.tag.value = Tag ;
document.thueForm.mon.value = Monat ;
document.thueForm.jah.value = Jahr ;
SagTag(Tag,Monat,Jahr);
}
function SagTag(tag,mon,jah)
{ var jetzt = new Date(jah,mon,tag);
var WochenTag = new Array ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
document.thueForm.Wochentag.value = WochenTag[jetzt.getDay()]
}
Die nimmt die eingegebenen Daten auf und "errechnet" den Wochentag.Nein<< tut sie nicht. Sie schreibt >>immer<< das >>aktuelle<< Datum (ein bischen "verrechnet") >>in<< das Formular.
document.thueForm.tag.value = Tag ; //schreibt in das Formular
var Tag = document.thueForm.tag.value; //würde aus dem Formular lesen und in eine Variable übergeben.
Gruß
Axel
Hallo,
Nein<< tut sie nicht. Sie schreibt >>immer<< das >>aktuelle<< Datum (ein bischen "verrechnet") >>in<< das Formular.
Entschuldige, aber in meinen Test funktioniert es doch, ich kann jedes Datum eingeben und der Wochentag wird bestimmt.
Gruß Joan
Hallo,
Nein<< tut sie nicht. Sie schreibt >>immer<< das >>aktuelle<< Datum (ein bischen "verrechnet") >>in<< das Formular.
Entschuldige, aber in meinen Test funktioniert es doch, ich kann jedes Datum eingeben und der Wochentag wird bestimmt.
Gruß Joan
Dann poste doch mal den HTML-Code mit dem Formular. Das würde mich jetzt wirklich interessieren.
Gruß
Axel
hab gerade ne Lösung gefunden.