Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie godziny w formularzu zależnie od daty
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
mihow
Cześć!
Nie jestem za dobry w JS więc piszę tutaj i proszę jednocześnie o pomoc.
Mam formularz kontaktowy na stronie, w którym ludzie mogą wybrać datę i godzinę, w których mogę do nich oddzwonić.
Wybór daty (w formacie RRRR-MM-DD) wyświetlany jest za pomocą pola <select> - podobnie godziny.
Teraz tak - powiedzmy ze jest godzina 09:33. Wypełniamy ten formularz. Wybieramy datę dzisiejszą do oddzwonienia i godzinę. Ale chciałbym aby w takim przypadku były wyświetlane godziny dopiero od 10:00 w górę. Jednak gdy wybierzemy datę powiedzmy jutrzejszą, to aby godziny były już wyświetlane z całego zakresu (od 08:00 do 22:00).

Jak coś takiego obsłużyć za pomocą JS?
lukasz_sosnowiec
Robisz sobie select np. o id="wyborgodziny" coś na wzór (uwzględniasz wszystkie możliwe godziny)

Kod
<select id="wyborgodziny">
<option value="08">08:00</option>
<option value="09">09:00</option>
<option value="10">10:00</option>
<option value="11">11:00</option>
   (...)
</select>



Kod JavaScript do usunięcia niechcianych godzin (niechcianych pól option)
Kod
var data = new Date ();
var element = document.getElementById("wyborgodziny");
while (parseInt(element.firstChild.value) < data.getHours ()) {
element.removeChild(element.firstChild);
}


Powyższy kod odnosi się tylko do dzisiejszego dnia. Aby nie działał na dniu jutrzejszym musisz już dodać sobie odpowiednie warunki.

// Edit: Działa tylko na mozilli i operze ... może lepiej byłoby poprać tablicę elementów z potomstwa selecta za pomocą getElementByTagName ("option") - popróbuje może znajdę lepsze rozwiązanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.