Autor | Zpráva | ||
---|---|---|---|
Vojko Profil |
#1 · Zasláno: 22. 9. 2012, 17:59:49
Dobrý deň,
chcel by som Vás požiadať o pomoc. Potrebujem niečo také, že na stránke bude hore malý mesačný kalendár. Pod tým kalendárom sa bude nachádzať formulár a jeden input by mal byť akože že: Dátum realizácie. Tu chcem aby si klient vybral čas. Chcel by som to spraviť tak, že si kliknem na dátum v tom kalendáriku a vyplní sa mi ten input tým dátumom. Našiel som niečo podobné, no strašne zložite spravené. Tu je niečo na taký štýl aký by som chcel, ale bez tých zbytočných funkcií: http://www.frequency-decoder.com/demo/date-picker-v4/ Jedná sa o ten Single Input in-line DatePickers. Nechcem tam žiadne komplikované veci, proste iba čísielka dní na ktoré sa bude dať klikať a po kliknutí vyplnia input ktorý potrebujem. Nemáte niekto niečo takého ? Ďakujem za každú pomoc. |
||
panther Profil |
#2 · Zasláno: 24. 9. 2012, 09:10:13
Vojko:
tak kalendar na aktualni mesic je obycejna tabulka, v cyklu si do ni podle mesice vypis jednotliva data (cisla) a pak pri onclick u vypln nakliknutou hodnotou prazdny input.
Monstra jako jQuery a dalsi pluginy na pouhe plneni inputu nejakym datem nepotrebujes, jde to napsat kompletne vcetne HTML na par radek. |
||
Vojko Profil |
#3 · Zasláno: 25. 9. 2012, 18:58:54
Fúha, tak to nemám šajnu ako spraviť.
|
||
Joker Profil |
#4 · Zasláno: 25. 9. 2012, 19:38:03
Vojko:
Nestačilo by obvyklejší řešení, což je normální textové políčko pro datum a když do něj uživatel klikne, otevře se kalendář pro výběr data? Například nějak takto. |
||
Vojko Profil |
#5 · Zasláno: 25. 9. 2012, 20:09:07
Určite bolo ale potrebujem to tak ako som popisoval vyššie :/
|
||
Vojko Profil |
#6 · Zasláno: 26. 9. 2012, 17:11:53
Nemáte aspoň nejaký jednoduchý kód na obyčajný mesačný kalendár ? :)
|
||
Rellik Profil |
Vojko:
Máme: kalendar.php <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Kalendář</title> </head> <body> <?php // pokud nejsou proměnné zinicializovány, vloží aktuální hodnoty $month = $_GET['month']; $year = $_GET['year']; if(!IsSet($month)) $month = Date("m"); if(!IsSet($year)) $year = Date("Y"); // převod na korektní hodnoty $year = Date("Y", MkTime(0,0,0, $month, 1, $year)); $month = Date("m", MkTime(0,0,0, $month, 1, $year)); $count_days = Date("t", MkTime(0,0,0, $month, 1, $year)); // počet dnů v měsíci // ke každému dni přiřadí jeho číslo v týdnu (1 = pondělí, ...) for($i=1;$i<=$count_days;$i++): $date[$i] = Date("w", MkTime(0,0,0,$month,$i,$year)); if($date[$i]==0) $date[$i] = 7; endfor; $first = $date[1]; // číslo prvního dne v měsíci (1 = pondělí, ...) // vypisuje odkazy pro zobrazení statistiky za dané období function DateLink($from, $to, $text) { global $month, $year; if(MkTime(0,0,0,$month,$from,$year) >= MkTime(0,0,0, Date("m"), Date("d"), Date("Y"))): echo '<a href="kalendar.php?month=' . $month . '&year=' . $year . '&from_date=' . $year . '-' . $month . '-' . $from . '&to_date=' . $year . '-' . $month . '-' . $to . '">'; echo $text; echo '</a>'; else: echo $text; endif; } ?> <table cellspacing="0" align="center"> <tr><td align="center" colspan="8"> <?php // předchozí, aktuální a následující měsíc echo '<a href="kalendar.php?month=' . ($month-1) . '&year=' . $year . '"><<</a> '; DateLink(1, $count_days, $month . " / " . $year); // odkaz na měsíční statistiku echo ' <a href="kalendar.php?month=' . ($month+1) . '&year=' . $year . '">>></a>'; ?> </td></tr> <tr><td>T</td><td>Po</td><td>Út</td><td>St</td><td>Čt</td><td>Pá</td><td>So</td><td>Ne</td></tr> <?php $day = 0; for($x=0;$x<=5;$x++): echo '<tr><td align="center"><b>'; // poslední den v týdnu if($x==0) // první týden $end = 7-$first+1; elseif($day+7>=$count_days) // poslední týden $end = $count_days; else // zbylé týdny $end = $day+7; // odkaz na týdenní statistiku DateLink($day+1, $end, $x+1); echo '</td>'; for($i=1;$i<=7;$i++): echo '<td align="center">'; $day = $x*7+$i-$first+1; // na základě obou cyklů postupně počítá den if($date[$day] == $i) DateLink($day, $day, $day); // odkaz na denní statistiku else echo " "; echo '</td>'; endfor; echo '</tr>'; if(!CheckDate($month, $day+1, $year)) break; // pokud neexistuje následující datum, ukončí cyklus endfor; ?> </table> </body> </html> |
||
Vojko Profil |
#8 · Zasláno: 26. 9. 2012, 18:16:43
Ďakujem veľmi pekne :)
|
||
Vojko Profil |
#9 · Zasláno: 27. 9. 2012, 15:21:27
No skúšal som to nejak spraviť na ten input, ale bez úspechu :/
Nemáte niekto odkaz na tutoriál alebo na niečo podobné ? Ďakujem :) |
||
Rellik Profil |
#10 · Zasláno: 27. 9. 2012, 18:00:03
Když k tomu výpisu kalendáře přidáš trochu javascriptu, tak ti zvolený datum vloží do inputu..
Tady je malá nápověda http://manual.top365.cz/index.php?akce=zobrazit&id=24 |
||
Vojko Profil |
#11 · Zasláno: 27. 9. 2012, 19:28:22 · Upravil/a: Vojko
Ďakujem veľmi pekne, funguje :)
Mohol by som ťa ešte poprosiť ? Mám to napísané takto, funguje ale ani za toho boha tam neviem dať medzi dňom, mesiacom a rokom bodku. Kód: echo '<a href="#" onclick="document.Objednavka.date.value=' . $from . $month . $year . '">'; Skúšal som to, no buď totálna chyba alebo to nevpisovalo do inputu :D |
||
Rellik Profil |
#12 · Zasláno: 27. 9. 2012, 20:13:44
Zkus tak:
echo '<a href="#" onclick="document.Objednavka.date.value=' . $from .'.'.$month .'.'. $year . '">'; |
||
Vojko Profil |
#13 · Zasláno: 27. 9. 2012, 20:15:13
Po kliknutí na dátum to nezapíše do inputu :/
|
||
Rellik Profil |
#14 · Zasláno: 27. 9. 2012, 21:29:30
Tak tam zkus místo teček dát třeba - nebo / Případně něco jiného, co pak při výpisu pomocí funkce str_replace převedeš na co budeš chtít ;)
|
||
Vojko Profil |
#15 · Zasláno: 27. 9. 2012, 21:37:41
Keď tam dám -, tak to vypíše iba do inputu -1994 :D
|
||
jenikkozak Profil |
Vojko:
To datum je řetězec, takže patří do uvozovek. Dá se to spáchat třeba pomocí escapování takto: (možností zápisu je víc, jistě je znáš, použij ten, co ti nejvíc vyhovuje) echo '<a href="#" onclick="document.Objednavka.date.value=\"' . $from .'.'.$month .'.'. $year . '\"">'; //Edit: tohle je špatně |
||
Vojko Profil |
#17 · Zasláno: 28. 9. 2012, 14:04:35
Nejde :/ Nič do inputu nenapíše po kliknutí :/
|
||
jenikkozak Profil |
#18 · Zasláno: 28. 9. 2012, 14:30:20
Vojko:
Á, promiň, udělal jsem začátečnickou chybu. :) V řetězci uvnitř apostrofů se zpětná lomítka nevyhodnocují. echo "<a href='#' onclick='document.Objednavka.date.value=\"" . $from .".".$month .".". $year . "\"'> echo "<a href='#' onclick='document.Objednavka.date.value=\"$from.$month.$year\"'> |
||
Vojko Profil |
#19 · Zasláno: 28. 9. 2012, 16:42:49
To už nejde vôbec :/
Ako keby to nebolo uzavreté, píše to chybu v tom riadku. |
||
jenikkozak Profil |
#20 · Zasláno: 28. 9. 2012, 16:48:25
Vojko:
Bude takový problém na konec doplnit uvozovky a středník? Předpokládal jsem, že za to budeš chtít přidat text odkazu. |
||
Vojko Profil |
#21 · Zasláno: 28. 9. 2012, 17:29:17
Pardón :)
Ďakujem veľmi pekne, funguje :) |
||
Časová prodleva: 12 let
|
0