Autor Zpráva
ondra15
Profil
Dostal jsem po kolegovi kody a trošku tápu. Na webové stránce je hodně checkboxu (asi 60) a pokud by měla probíhat kontrola při každém odeslání formuláře (který obsahuje zmíněných 60 checkboxu), trvalo by to dlouho. Proto mi bylo lehce vysvětleno, že následující kód napomáhá tomu, aby byla kontrola rychlejší a načítání stránky netrvalo dlouho. Jde o HTML a BASH

if test "$RLOOPCB15" != "$RLOOPCB15_"; then
  if test "$RLOOPCB15" = "1"; then CMD_3_15="on"; else CMD_3_15="off"; fi
  CMD_3_15="set emm"$CARDNUM" ch15 rloop "$CMD_3_15;
fi
Zde chápu, že pokud se proměnné $RLOOPCB15 a $RLOOPCB15_ nerovnají, testuje se $RLOOPCB15 je-li rovno 1 a pokud ano, do CMD_3_15 se uloží "on" nebo "off". Dále proběhne uložení příkazu do proměnné.
if test "$RLOOP_14" = "x"; then tRLOOP_015=" checked='checked'";RLOOP_015="1"; else tRLOOP_015="";RLOOP_015=""; fi
<td class='tdImportant'>                                                      
                  <input id='RLOOPCB15' type='checkbox' name='RLOOPCB15' $tRLOOP_015 value='1'>
                  <input id='RLOOPCB15_' name='RLOOPCB15_' type='hidden' value='$RLOOP_015'>
              </td>
              
A zde je input schovaný (hidden), který má hodnotu $RLOOP_015, jenž je testována výše. Proměnna $RLOOP_015 může nabývat hodnot 1 (zatrženo) nebo 0 (nezatrženo). Proměnnou $tRLOOP_015 v <input type='checkbox'> zatrhnu/nezatrhnu checkbox. Mám pravdu?
A moje otázka zní: jak poznám, že <input type='checkbox'...> byl zatržen? (Předpokládejme jeho nezatržení předtím).
Děkuji za rady.
Camo
Profil
ondra15:
jak poznám, že <input type='checkbox'...> byl zatržen?
Testuje sa hodnota atribútu element.checked - true/false.
Ak môžem mať otázku, zaujímalo by ma akú úlohu v tom zohráva ten BASH.
Joker
Profil
ondra15:
pokud by měla probíhat kontrola při každém odeslání formuláře (který obsahuje zmíněných 60 checkboxu), trvalo by to dlouho.
To je nějak změřené, nebo to je domněnka?
Nevidím moc důvod, proč by projetí 60 checkboxů mělo trvat nějak dlouho.

Na serveru třeba v PHP by to bylo 60x isset, což není nijak dramatické.

Na klientovi (Javascript) by to mělo být taky snesitelné, tam by to šlo ještě urychlit tím, že by se na kliknutí na každý checkbox aktualizoval jeho stav v nějaké jednotné proměnné a kontrola při odeslání by pak prošla jen tu proměnnou.
ondra15
Profil
Joker:
To je nějak změřené, nebo to je domněnka?
Bylo mi to tak zdůvodněno. Stav před touto upravou jsem neviděl - nemohu říct, zda se zrychlilo načítání.
Joker
Profil
ondra15:
A ještě kde ta kontrola běží? Klient/server? O jakou technologii jde (jaký jazyk)?
Davex
Profil
ondra15:
Proměnnou $tRLOOP_015 v <input type='checkbox'> zatrhnu/nezatrhnu checkbox. Mám pravdu?
Ano.

A moje otázka zní: jak poznám, že <input type='checkbox'...> byl zatržen? (Předpokládejme jeho nezatržení předtím).
V proměnné $RLOOPCB15 bude jednička.
ondra15
Profil
Joker:
Jde o jazyk BASH. Podle meho kontrola běží na serveru.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0