• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

DropDown-Menü für Datums doppelt ausführen

Mujoko71

Neues Mitglied
Schönen guten Abend, ich bin leider absoluter Nichtfachmann beim Thema html oder Javascript und bin neu hier auf der Suche nach Antworten. Auf einer Hotelseite soll ein An und Abreisedatum angegeben werden. Momentan ist es mit Drop Down programmiert aber man kann leider auch den 31. Februar eingeben. Jetzt habe ich eine Routine gefunden die das verhindert. Allerdings funktioniert dies nur beim Anreisedatum beim darauffolgenden Abreisedatum wird die 'function' ignoriert. Ich hoffe, dass mir hier jemand eine Tipp geben kann. Umbenenne der function habe ich schon probiert aber das hat keine Auswirkung gehabt. hier der Quellcode: wie gesagt dies sollte nun zweimal hintereinander funktionieren.
 

Anhänge

Hast du dir mal angeschaut, was deine Textdatei ausgibt?

Bei dem Wissensstand würde ich sagen: ab in die Jobbörse damit. Dort wird sich bei entsprechender Problembeschreibung sicherlich jemand finden, der dir eine brauchbare Lösung liefert. Die anderen Foren hier sind eigentlich eher zur Unterstützung beim Erlernen der Sprachen gedacht.
 
Na, scheint nicht schwer zu sein, ich probier's mal ohne Jobbörse.
Ändere deine Funktion TageBestimmen() wie folgt:
Code:
function TageBestimmen(id_tag, id_monat, id_jahr)
{
    var Tag = document.getElementById(id_tag).value;
    var Monat = document.getElementById(id_monat).value;
    var Jahr = document.getElementById(id_jahr).value;

    var TageImFebruar = 28;

    if((Jahr%4 == 0 && Jahr%100 !=0) || Jahr%400 == 0)
    {
        var TageImFebruar = 29;
    }

    var Tage = new Array(31, TageImFebruar, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

    document.getElementById(id_tag).options.length = Tage[Monat-1];

    for(i = 0; i < Tage[Monat-1]; i++)
    {
        document.getElementById(id_tag).options[i].innerHTML = i+1;
        document.getElementById(id_tag).options[i].value = i+1;
    }
}
Und die select-Tags:
Code:
<select name="Tag" id="Tag_Anreise" onchange="TageBestimmen("Tag_Anreise", "Monat_Anreise", "Jahr_Anreise");">
...
</select>

<select name="Monat" id="Monat_Anreise" onchange="TageBestimmen("Tag_Anreise", "Monat_Anreise", "Jahr_Anreise");">
...
</select>

<select name="Jahr" id="Jahr_Anreise" onchange="TageBestimmen("Tag_Anreise", "Monat_Anreise", "Jahr_Anreise");">
...
</select>
Und analog für die Abreise.

Ohne Gewähr, da ungetestet. Wenn es nicht funktioniert, melde dich wieder.
 
Danke für die schnellen Antworten ;Jump

@Tronjer: Ich weiß, dass das teilweise eher eine Auftragsarbeit sein sollte, aber bislang haben da sehr viele dran rumgespielt und das macht die Sache auch noch komplizierter :???:. Der Besitzer der Seite hat aber schon schlechte Erfahrungen mit Webmaster gehabt und vertraut mir momentan, dass ich einiges 'richten' kann.
Im normalen Umfeld ist das auch kein Problem, alles andere kann ich dazulernen. ie Site ist auch nicht kompliziert aufgebaut nur völlig durcheinander. Früher oder später muss da aber mal ein richtiger Profi ran, liegt aber nicht in meiner Entscheidung.;-)
Der große Wunsch von Ihm ist auch ein Datepicker aber bislang waren alle zu unfähig diesen einzubauen. Was ich bisher gesehen habe ist das aber eigentlich kein Hexenwerk.

@Sempervivum: Danke werde ich ausprobieren und Rückmeldung geben. war auf jeden Fall mehr Veränderung als ich gedacht habe ;-)
 
@Sempervivum Problem bleibt das gleiche, beim ersten Dropdown funktioniert die variable sobald man ein weiteres mal das Dropdown einbaut kommt dort wieder die Auswahl bis 31. und kann auch angewählt werden. das Problem ist auch das zwischen den An und Abreise Datum noch ein Feld mit An/Abreise Zeit und dann noch 3 Zeilen Text kommt. wahrscheinlich komm ich mit einem Date Picker wirklich schneller zum Ziel :???:.
Gibt es da eigentlich auch Varianten die dann den Monat als Wort ausgeben oder nur Zahlenvarianten?
 
Die andere Variante wäre, sich mit dem bereits erwähnten Date-Object von JavaScript selbst etwas zu bauen. Einfacher geht es allerdings mit Datepicker. Simple Arithmetik ist dagegen keine wirkliche Option.

Wobei sich die weitere Frage stellt, was mit den Daten anschließend passieren soll. Wahrscheinlich doch in eine Datenbank geschrieben werden, und dafür reicht der Datepicker alleine nicht aus. Hier benötigst du noch Ajax zum Transport und eine entsprechende PHP-Anbindung.

Ohne Vorkenntnisse oder professionelle Unterstützung wirst du wahrscheinlich nicht weit kommen. Ich habe so etwas Anfang des Jahres mal für eine große Fluggesellschaft erstellt, und das hat einige Tage in Anspruch genommen.
 
Problem bleibt das gleiche, beim ersten Dropdown funktioniert die variable sobald man ein weiteres mal das Dropdown einbaut kommt dort wieder die Auswahl bis 31. und kann auch angewählt werden.
Dann hast Du wahrscheinlich etwas verkehrt gemacht. Lade deine Seite doch mal hoch und poste die URL.
 
Zurück
Oben