salztorte: Auslesen eines DropdownMenus

Hallo,
ich habe ein kleines Problem mit meinem Dropdownmenu.
Ich arbeite mit PHP, HTML und JavaScript.
Ich habe 3 Dropdown-Menus Tag, Monat und Jahr.

Die beiden Monat und Jahr sind für mich kein Problem aber Tag schon, da ich dieses Dynamisch anlegen möchte sodas wenn ich z.B. August auswähle das Dropdown-Menu 31 Tage hat. Wenn ich nun April auswähle soll Tag eben nur 30 Tage haben. Ich hoffe es ist klar was ich möchte.
Was ich noch dazu sagen muss ist, dass ich keine möglichkeit habe mit der onchange methode zu arbeiten da die anderweitig gebraucht wird.
Ich habe keine Code gepostet da es JavaScript sowieso nur in den Dropdownmenus auftaucht.

Danke schon mal im Vorraus.

Salztorte

  1. Was ich noch dazu sagen muss ist, dass ich keine möglichkeit habe mit der onchange methode zu arbeiten da die anderweitig gebraucht wird.

    Du kannst auch mehrere Event-Handler für das selbe Event registrieren.

    meinInput.addEventListener('change', meinChangeCallback2 );  
    meinInput.addEventListenet('change', meinChangeCallback2 );
    

    Für den Fall, dass du mit dem alten Event-System hantierst, musst du ein wenig tricksen:

    var alterChangeCallback = meinInput.onchange;  
      
    meinInput.onchange = function( event ){  
      
       alterChangeCallback( event );  
       neuerChangeCallback( event );  
      
    };
    

    Bei der Benennung der Identifier solltest du was expressiveres wählen als in den Beispielen.

    Ich habe keine Code gepostet da es JavaScript sowieso nur in den Dropdownmenus auftaucht.

    Wäre für uns trotzdem schön einen Aufhänger zu haben.

    1. Meine Herren,

      Was ich noch dazu sagen muss ist, dass ich keine möglichkeit habe mit der onchange methode zu arbeiten da die anderweitig gebraucht wird.

      Du kannst auch mehrere Event-Handler für das selbe Event registrieren.

      meinInput.addEventListener('change', meinChangeCallback2 );

      meinInput.addEventListenet('change', meinChangeCallback2 );

        
      Sollte heißen:  
        
       ~~~javascript
      meinInput.addEventListener('change', meinChangeCallback1 );  
       meinInput.addEventListenet('change', meinChangeCallback2 );
      

      var alterChangeCallback = meinInput.onchange;

      meinInput.onchange = function( event ){

      alterChangeCallback( event );
         neuerChangeCallback( event );

      };

        
      Für den Fall, dass du innerhalb der EventHandler Gebrauch von `this`{:.language-javascript} machst, müsste der obige noch entsprechend angepasst werden.  
        
      Entweder druch:  
      `var alterChangeCallback = meinInput.onchange.bind( meinInput ); // Zeile 1`{:.language-javascript}  
      Oder  
      `alterChangeCallback.call(this, event ); // Zeile 5`{:.language-javascript}