Ankündigung

Einklappen
Keine Ankündigung bisher.

Datum per Button in date Felder eintragen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datum per Button in date Felder eintragen

    Hallo zusammen,

    ich brauche mal wieder Eure Hilfe.

    Ich möchte mit einem Button das Datum von letzter Woche Montag bis Freitag in 2 date Felder eintragen. Das Datum und die KW Woche bekomme ich über date("Y") und date("W").
    Anbei ein Beispiel, der Button selber hat noch keinen Funktion, da weiß ich nicht weiter.

    PHP-Code:
    <?php
    $jahr 
    date("Y");
    $kalenderwoche date("W")-1;

    $montag strtotime("{$jahr}-W{$kalenderwoche}");
    $freitag strtotime("{$jahr}-W{$kalenderwoche}-5");

    echo 
    date("d.m.Y"$montag);
    echo 
    '<br>';
    echo 
    date("d.m.Y"$freitag);

    ?>
    HTML-Code:
    <html>
    <body>
    <br>
    <button>Letzte Woche</button>
    
    <input  type="date" name="montag" value="">
    
    <input  type="date" name="freitag" value="">
    
    </body>
    </html>
    Vielen Dank für Eure Hilfe.

    LG Stefan

  • #2
    Du must die Datumswerte mit der Notation 'Y-m-d' als value mitgeben. Siehe Beispiel hier. Du bekommst das Datum auch in dieser Notation geliefert, unabhängig davon das die Anzeige möglicherweise als Deutsch d.m.Y erfolgt.

    Kommentar


    • #3
      Ich möchte die Datumswerte aber erst mitgeben, wenn ich den Button "Letzte Woche" geklickt habe. Davor sollten die date Felder leer bleiben. Weil wenn ich jetzt folgendes mache:

      HTML-Code:
      <input  type="date" name="montag" value="<?=date("Y-m-d", $montag)?>">
      <input  type="date" name="freitag" value="<?=date("Y-m-d", $freitag)?>">
      Dann ist in den date Feldern das Datum eingetragen. Es soll ja erst nach dem Klick auf den Button passieren.

      LG Stefan

      Kommentar


      • #4
        So, bin jetzt ein wenig weitergekommen, aber noch nicht am Ziel.
        Der 16.11.2020 wird per Button übernommen, ich bekomme es aber nicht hin, dass auch der 20.11.2020 eingetragen wird. Wie kann ich mit einem Button 2 Werte übergeben?
        Oder gibt es eine ganz andere Möglichkeit?

        HTML-Code:
        <html>
        <body>
        <script type="text/javascript">
        
        function copy_value(src,dest){
        
        document.getElementById(dest).value=src.value;
        }
        </script>
        <br>
        <button value="<?=date("Y-m-d", $montag)?>" onclick="document.getElementById('von').value=this.value">Diese Woche</button>
        
        <input  id="von" type="date" name="montag">
        <input  id="bis" type="date" name="freitag">
        
        </body>
        </html>
        LG Stefan

        Kommentar


        • #5
          Das solltest du besser mit Javascript realisieren.
          Wenn es unbedingt per PHP sein soll kannst du ein sog. Affenformular nutzen. Per Button Requst -> Server, dort auswerten und dann die Werte setzen. Ist aber umständlich und verwirrt.

          Edit: Antworten haben sich überschnitten. Javascript gehört in extra Dateien. Sog inline-javascript ist heutzutage ein no go.

          Kommentar


          • #6
            Kannst du mal bitte erklären was du genau vorhast?
            Warum dürfen denn die input Elemente nicht vorbelegt sein, sondern erst wenn ich auf den Button klicke?
            Wenn du ein Input Element des Typs Datum hast dann kannst du ja jedes Datum dort auswählen.
            Hast du dir den Link in #2 von jspit den mal genauer angesehen, dort gibt es stepdown als Attribut, das kannst du verwenden.
            Du kannst auch 2 hidden input Felder in dein Formular packen, aber solange man nicht weiss was das Formular bezwecken soll ist jeder Hinweis erst mal nur Spekulation.

            Kommentar


            • #7

              Ich habe es jetzt so gemacht, funktioniert wie ich wollte:

              PHP-Code:
              $jahr date("Y");
              $kalenderwoche01 date("W")-1;
              $kalenderwoche0 date("W");

              $montag01 strtotime("{$jahr}-W{$kalenderwoche01}");
              $freitag01 strtotime("{$jahr}-W{$kalenderwoche01}-5");


              $montag0 strtotime("{$jahr}-W{$kalenderwoche0}");
              $freitag0 strtotime("{$jahr}-W{$kalenderwoche0}-5"); 
              Code:
              function copy_value(dest){
               var von=document.getElementById('vond').value;
               var bis=document.getElementById('bisd').value;
              
              document.getElementById('montag').value=von;
              document.getElementById('freitag').value=bis;
              
              }
              function copy_value1(dest){
               var von=document.getElementById('vonl').value;
               var bis=document.getElementById('bisl').value;
              
              document.getElementById('montag').value=von;
              document.getElementById('freitag').value=bis;
              
              }
              HTML-Code:
              <html>
              <body>
              
              <button onclick="copy_value()">Letzte Woche</button>
              
              <input type="hidden" id="vond" value="<?=date("Y-m-d", $montag01)?>">
              <input type="hidden" id="bisd" value="<?=date("Y-m-d", $freitag01)?>">
              
              
              <button onclick="copy_value1()">Diese Woche</button>
              
              <input type="hidden" id="vonl" value="<?=date("Y-m-d", $montag0)?>">
              <input type="hidden" id="bisl" value="<?=date("Y-m-d", $freitag0)?>">
              
              <input type="date" id="montag">
              <input type="date" id="freitag">
              
              
              <script src="date.js"></script>
              </body>
              </html>
              LG Stefan

              Kommentar

              Lädt...
              X