Joan: Überprüfung des Datums

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

  1. 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

    1. 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

      1. 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

        1. 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

          1. 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

            1. 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

              1. 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

                1. hab gerade ne Lösung gefunden.