Problem mit dynamischem Formular (onchange() und select)

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

  • Problem mit dynamischem Formular (onchange() und select)

    Hiho,

    ich hätte da gerne mal ein Problem. Ach ich hab ja schon eins. Ich bin jetzt nicht so der Javascript-Mensch (Ich weiß Asche auf mein Haupt und ich gelobe Besserung).

    Ich habe ein Formular bei dem in einem Feld ein Datum via SELECT ausgewählt wird. Sobald dieses Feld geändert wird soll eine Funktion prüfen ob es sich bei dem gewählten Tag um einen Sonntag handelt. Ist das der Fall soll ein weiteres SELECT Feld mit den Daten eines Arrays gefüllt werden wobei der erste Wert des Arrays nicht mit ausgegeben werden soll. Handelt es sich um keinen Sonntag soll das komplette Array ausgegeben werden.

    So weit zu dem was ich machen möchte. Und hier nun das was ich mir zusammengeschrieben habe, was allerdings nicht funktioniert (klar sonst wär ich ja nicht hier ;-) ):

    Der HTML-Teil:
    Code:
    <form name="Reserv" method="post">
            <input type="text" placeholder="Vorname" required="required" /><input type="text" placeholder="Nachname" required="required" /><br>
            <input type="email" placeholder="EMail" required="required"/><input type="tel" placeholder="Telefon" required="required"/><br>
            <select onchange="checksun('value')">
                   <option value='2012, 06, 10'>10. Jun 2012 / Sun</option>
    <option value='2012, 06, 11'>11. Jun 2012 / Mon</option>
            </select>
            <select id="zeiten">
        </select>
            <input type="button" value="Absenden">        
    </form>
    Und das Javascript dazu:
    Code:
            function checksun(checker){
                    var day = checker.getday();
                    var times = new array ("10:00", "12:00", "14:00", "16:00", "18:00", "20:00")
                    if (day == 0){
                            for (i = 1; i <= zeiten.length; i++){
                                    document.getElementById('zeiten').write('<option value"'+times[i]+'">'+times[i]+'</option>')
                            }
                    }else{
                            for (i = 0; i <= zeiten.length; i++){
                                    document.getElementById('zeiten').write('<option value"'+times[i]+'">'+times[i]+'</option>')
                            }
                    }
            }
    Ich bin irgendwie zu blöd den Fehler zu sehen!

    Einen fluffigen Abend,

    Hanniball

  • #2
    warum übergibst du den String "value" an checksun?

    Kommentar


    • #3
      Fehler Nummer 1 entlarvt! Ich habs tatsächlich überlesen.

      Doch funktionieren tut es so noch nicht.

      Kommentar


      • #4
        gehts ein bisschen genauer? hast du mal ein bisschen gedebuggt? aktueller code?

        Kommentar


        • #5
          Der Code unterscheidet sich nur darin das ich den String entfernt habe. Jetzt suche ich gerade nach einer Möglichkeit das neue Datum aus dem ersten SELECT-Feld an die Funktion zu übergeben.

          Kommentar


          • #6
            Seit wann hat ein Select-Element eine write-Methode …?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hallo,

              zum Thema „Kinder zu einem bestehenden Element hinzufügen“ (bei dir options zu select):

              Code:
              var child = document.createElement("option");
              child.value = "…";
              child.text = "…";
              document.getElementById("…").appendChild(child);
              Gruß,

              Amica
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar

              Lädt...
              X