Sečtění dvou inputů – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Sečtění dvou inputů – PHP – Fórum – Programujte.comSečtění dvou inputů – PHP – Fórum – Programujte.com

 

tomáš polz0
Návštěvník
3. 2. 2007   #1
-
0
-

Ahoj mám v celku normální formulář který, vypíše na každý řádek den,input od, input do (to znamená to co chci od sebe odečíst ) a rád aby se mi vedle napsal automaticky výsledek nejlepší by bylo do inputu nebo nějak jinak abych to mohl předat GET methodou skriptu kterýten formulář zpracuje
thank you in advance

Nahlásit jako SPAM
IP: ...–
Jakub0
Super člen
4. 2. 2007   #2
-
0
-

To tommassino: A co že se to vlastně skrývá v tom input od a do? Sice tuším, ale nechci(em) se namáhat zbytečně. Jinak jestli chceš, aby výsledek klasický BFU nezměnil, měj to v hidden inputu nebo to zobrazuj v non editable text inputu(tuším vlastnost disabled).
you are welcome

Nahlásit jako SPAM
IP: ...–
Věřím, že můžete v životě získat všechno, co budete chtít, když budete pomáhat druhým lidem, aby dostali to, co si přejí oni. - Zig Ziglar TOPlist
tomáš polz0
Návštěvník
4. 2. 2007   #3
-
0
-

To D1ce:v od je čas začátku a do čas konce a v tom třetím inputu by byl počet hodin, to mě napadlo ten další input nastavit jako needitovatelný problém je že nevím jak do něj dostat ten výsledek po odečtení (i když v názvu topicu mám sečtení)

Nahlásit jako SPAM
IP: ...–
Jakub0
Super člen
4. 2. 2007   #4
-
0
-

tommassino píše:#
# To D1ce:v od je čas začátku a do čas konce a v tom třetím inputu by byl počet hodin, to mě napadlo ten další input nastavit jako needitovatelný problém je že nevím jak do něj dostat ten výsledek po odečtení (i když v názvu topicu mám sečtení)


Časy jednoduše od sebe odečteš díky timestampům, na které je převedeš fcema jako strtotime() strptime() nebo mktime() (neuvedl jsi formát času, nebude ani příklad :P ). Má to ovšem jeden háček, ty propočty můžeš provést jen a pouze, pokud ti uživatel pošle data. Možná by se ti šiklo dynamické počítání dle JS(možná bys to chtěl i pomocí AJAXu posílat rovnou na server), ale tam zase nevím, jak jednoduše získat timestamp z data(Ale určitě by šel spravit nějaký algorytmus dle specifického formátu).

Nahlásit jako SPAM
IP: ...–
Věřím, že můžete v životě získat všechno, co budete chtít, když budete pomáhat druhým lidem, aby dostali to, co si přejí oni. - Zig Ziglar TOPlist
tomáš polz0
Návštěvník
4. 2. 2007   #5
-
0
-

To D1ce:no t já právě potřebuju ten skript . to je to co nevim: Jak po vyplnění hodnot do obou inputu "okamžitě" zobrazit ve vedlejší needitovatelném tu hodnotu . co se týče formátu na tom až tolik nezálěží ale pomocí toho skriptu bych rád vložil data do toho určitého needitovatelného inputu .Spíše mi prosím napiš pokud víš jak by jsi to konkrétně řešil (včetně kodu )
díky za další odpoved

Nahlásit jako SPAM
IP: ...–
Jakub0
Super člen
4. 2. 2007   #6
-
0
-

To tommassino: Nebude formát, nebude JS skript. :P

Nahlásit jako SPAM
IP: ...–
Věřím, že můžete v životě získat všechno, co budete chtít, když budete pomáhat druhým lidem, aby dostali to, co si přejí oni. - Zig Ziglar TOPlist
4. 2. 2007   #7
-
0
-

V JS ziskas timestamp takhle

var timestamp = Date.parse(new Date());

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Prog.0
Věrný člen
5. 2. 2007   #8
-
0
-

Jou, popisalo sa tu uz hodne, ale stale mi nieje jasne, co presne potrebujes...

Chces aby formular odosielal scriptu dva timestampy (od, do), alebo ti staci jeden udaj ( rozdiel casov ) ? Ak to potrebujes len pre script na serveri, tak to vyrataj az tam a na javascript sa vykasli.
Ak vsak ten casovy rozdiel chces zobrazovat, pocas vyplnania formulara (co predpokladam), bez client-side scriptov to nespravis... Ak chces aby ti niekto pomohol ten javascript nakodit, budes musiet popisat, ako to vlastne chces...

konkretne, chces aby user napisal dva casy do dvoch inputov (input type="text") ???
o akych casoch je rec? bude sa tam uvadzat den,mesiac,rok,hodina,minuta,sekunda, alebo iba cas v ramci jedneho dna?

Ja taketo veci riesim pomocou viacerych selectov, cize pri vypocte by nevznikali problemi s formatom textovej reprezentacie zapisu.

asi takto by som to riesil keby slo o hod, min, sec:

<script type="text/javascript">

function get_val(elmID)
{
return document.getElementById(emlID).value;
}

function recount()
{
od = get_val('od_h')*60*60 + get_val('od_m')*60 + get_val('od_s');
do = get_val('do_h')*60*60 + get_val('do_m')*60 + get_val('do_s');

if (od>do) od+=24*60*60; // ak by tam bol presvih cez polnoc
rozdiel = do-od;
document.getElementById('rozdiel').value = rozdiel + ' sekund';
}

</script>
<form ..... >
Od:
<select id="od_h" name="od_h" onchange="recount()"><?php for($i=0;$i<24;$i++) echo "<option value=\"$i\"".($od_h==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="od_m" name="od_m" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($od_m==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="od_s" name="od_s" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($od_s==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>

Do:
<select id="do_h" name="do_h" onchange="recount()"><?php for($i=0;$i<24;$i++) echo "<option value=\"$i\"".($do_h==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="do_m" name="do_m" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($do_m==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="do_s" name="do_s" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($do_s==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
Rozdiel: <input id="rozdiel" type="text" disabled="disabled" value="" />

</form>


Nahlásit jako SPAM
IP: ...–
Prog.
tomáš polz0
Návštěvník
5. 2. 2007   #9
-
0
-

To Prog.:díky to je v podstatě to co chci jen mi to nefunguje ten výsledek se ne a ne zobrazit)

Nahlásit jako SPAM
IP: ...–
Prog.0
Věrný člen
6. 2. 2007   #10
-
0
-

bol to len taky nacrt... toto by uz malo aj fungovat:

<script type="text/javascript">

function get_val(elmID)
{
return parseInt(document.getElementById(elmID).value);
}

function recount()
{
cas_od = get_val('od_h')*60*60 + get_val('od_m')*60 + get_val('od_s');
cas_do = get_val('do_h')*60*60 + get_val('do_m')*60 + get_val('do_s');

if (cas_od>cas_do) cas_do+=24*60*60; // ak by tam bol presvih cez polnoc
rozdiel = cas_do-cas_od;
document.getElementById('rozdiel').value = rozdiel + ' sekund';
}

</script>
<form ..... >
Od:
<select id="od_h" name="od_h" onchange="recount()"><?php for($i=0;$i<24;$i++) echo "<option value=\"$i\"".($od_h==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="od_m" name="od_m" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($od_m==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="od_s" name="od_s" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($od_s==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>

Do:
<select id="do_h" name="do_h" onchange="recount()"><?php for($i=0;$i<24;$i++) echo "<option value=\"$i\"".($do_h==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="do_m" name="do_m" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($do_m==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
<select id="do_s" name="do_s" onchange="recount()"><?php for($i=0;$i<60;$i++) echo "<option value=\"$i\"".($do_s==$i ? ' selected="selected"':'').">".($i<10 ? "0$i":"$i")."</option>"; ?></select>
Rozdiel: <input id="rozdiel" type="text" disabled="disabled" value="" />

</form>

Nahlásit jako SPAM
IP: ...–
Prog.
tomáš polz0
Návštěvník
6. 2. 2007   #11
-
0
-

To Prog.:až přijdu domu tak vyzkoušim
díky moc za pomoc

Nahlásit jako SPAM
IP: ...–
tomáš polz0
Návštěvník
7. 2. 2007   #12
-
0
-

funguje to ;-)

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 50 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý