Autor | Zpráva | ||
---|---|---|---|
Hanysek01 Profil * |
#1 · Zasláno: 14. 8. 2007, 13:15:45
mam na strance formulař, kde se zadava do textovych poli datum přijezdu a datum odjezdu.
při stisknuti tlačitka odeslat mam udělany js ktery kontroluje zda ty pole nejsou prazdne. prosim neporadil by mi někdo jak to upravit, aby to kontrolovalo, zda je tam skutečně platny datum a zda je prvni datum větší jak druhé? zkoušel sem datum1>datum2 ale porovnává to jenom dny v datumu. skript ktery zatim mam a ktery bych potřeboval upravit: <script language="JavaScript" type="text/javascript"> <!-- var compatible = (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 )) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 )) || (navigator.appName == "Opera")); function Check () { var X = true; if ((document.main2['date_from'].value == '') || (document.main2['date_to'].value == '')) { alert("Musíte vyplnit datum příjezdu a datum odjezdu."); return false; } else { if (document.main2['date_from'].value > document.main2['date_to'].value) { alert("Datum není správně."); return false; } else { return true;} } } </script> dik za pomoc |
||
peta Profil |
#2 · Zasláno: 14. 8. 2007, 15:22:34
Hanysek01
google.com date javascript example jakpsatweb - javascript - datum jakpsatweb - javascript - priklady http://www.volny.cz/peter.mlich/www.htm#msub8 ** javascript-reference.info JS tahak, seznam metod kliknes na Date a skoci to na obrazek se vsemi funkcemi pro datum. Nektery prohlizec ma nektere navic, jiny ne. tyhle by meli mit vicemene vsechny. Datum nejlepe overis tak, ze provedes prevod na datumovy format a pak zpet a musis dostat stejne hodnoty. Porovnani datumu viz 3ti radek na reference - info lze porovnavat pouze, pokud mas v ciselnem tvaru. document.main2['date_from'].value > document.main2['date_to'].value hezci je: var f=document.main2; f['date_from'].value > f['date_to'].value navic alert(typeOf(f['date_from'].value)); se dozvis, ze je typu STRING a pak plati zakonitosti pro porovnavani stringu (podle znaku) a = "12 8 2007"; b = "3 4 2007" "1xxx" "3xxx" 1<3, tj a<b, ikdyz ty predpokladas nejake jine zakonitosti :) kdyz nevis, vypisi si podminky: var x = (document.main2['date_from'].value > document.main2['date_to'].value) ; alert(x); |
||
Hanysek01 Profil * |
#3 · Zasláno: 14. 8. 2007, 18:36:36
prosim nenapsal by mi někdo jak to rozšiřit at to porovnava i měsice a roky? asi to převest ze stringu na nějake čislo, js vubec neumim. děkuji
|
||
peta Profil |
#4 · Zasláno: 14. 8. 2007, 20:19:37 · Upravil/a: peta
"js vubec neumim"
tak to se bud nauc nebo pockej, treba se najde nekdo ochotny, komu se bude chtit vrtat v tisice radcich nefunkcniho programu... Vzdy tak 1-2 tydny od prvniho zadani se najde nekdo rozumny... Jinak jsem ti to napsal. Pouzivas tam value, coz je typu string. Typ string se serazuje podle cisla znaku v nem. Ani jinak to nejde "3xxx", "1xxx" nelze seradit jinak nez "1xxx", "3xxx" nebo reverzne. Jestli tam mas "13. 5. 2008" "3. 5. 2008", to neni podstatne. v tomto pripade, dvou hodnot, rozhoduje zrovna prvni znak (1 = kod 30hexa), ktery je mensi nez 3 = 33hexa. V pripade 12.5. 112.5. je opet 112.5. mensi nez 12.5. (prvni cislice je stejna, druha je 1 nebo 2) Funkce pro prevod datumu na cislo viz odkaz na tu literaturu. Cisla se pak serazuji ciselnym zpusobem. To je to, co potrebujes. jako dalsi odkaz by mohlo byt: jakpsatweb - javascript - priklady - datum a cas jakpsatweb - javascript - datum a cas Pokud nejses schopen opravit podminku a>b na funkce(a)>funkce(b) pak je to hold tezky (funkce doplnis nazev prislusne prevodni funkce, netusim v jakem formatu ty datumy pises a kontrolujes.) |
||
Časová prodleva: 17 let
|
0