Starší komentáře ke článku: Univerzální skript pro kontrolu formulářů

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Michal Kubis

Datum vložení: 23.3.2001 8:16:57

Som autorom clanku <a href='http://www.interval.cz/r-article.asp?id=484' target='_blank'>http://www.interval.cz/r-article.asp?id=484</a>, ked si ho precitate, zistite, ze pise takmer o tom istom...

Avatar

Autor komentáře: Jarmil Halamíček

Datum vložení: 23.3.2001 9:36:47

Máte pravdu - Váš článek je pro změnu více výukový, tento zase ukazuje jeden hotový skript.
Bohužel - a za to se omlouvám - jsem si Vašeho článku nevšiml; Interval už se nám tak rozrostl, že se to prostě někdy stane.

Avatar

Autor komentáře: Pavel

Datum vložení: 25.3.2001 12:58:23

To není chyba autora, ale vydavatele, že vydává (a asi platí) dvaktrát za to samé.

Avatar

Autor komentáře: Petr Hladiš

Datum vložení: 26.3.2001 10:10:15

Dobrý den,

Váš článek mě zaujal z toho důvodu, že jsem něco podobného před časem sám vymýšlel a několikrát již úspěšně použil.

Zatím to není asi nikde k vidění, ale poslední verze bude zanedlouho zveřejněna na <a href='http://www.abb.cz/ejf/index.htm' target='_blank'>http://www.abb.cz/ejf/index.htm</a> v sekci Elektrinický obchod.

Je to obdobná funkce, která je rozšířena o to, že ne vždy je nutno vyplňovat všechna pole, takže je použit parametr USE=text a jsou kontrolovány pouze položky, které obsahují tento parametr. Pokud pole není vyplněno, tak se zobrazí alert o vyplnění položky a místo name je zde použito use, protože name nemusí být vždy uživatelsky příjemný název.

Toto celé má jednu chybu a tou je, že to nefunguje pod NN. NN neumí přes JavaScript sáhnou na nic jiného než jméno a value z prvků formuláře :(
Proto pro NN toto přeskakuji a kontroluji to až na straně serveru.

Pokud někoho z vás napadá jak to upravit, aby to fungovalo pod NN, tak prosím poraďte.

S pozdravem

Petr Hladiš

Avatar

Autor komentáře: Michal Kubis

Datum vložení: 26.3.2001 10:35:17

Tie formulare, ktore chcete kontrolovat budu obsahovat napr. retazec "inp". Potom:

<form name="f">
<input name="inp1"><br>
<input name="inp2"><br>
<input name="xyz3">
</form>

<script language="JavaScript">
for(var i=0 ; i<document.forms.f.length; i++)
if(document.forms.f[i].name.indexOf("inp") != -1)
alert(document.forms.f[i].name + " testujem...");
else
alert(document.forms.f[i].name + " netestujem...");
</script>

skontroluje iba tie, ktore obsahuju dany retazec "inp". Funguje aj v NN.

Avatar

Autor komentáře: Petr Hladiš

Datum vložení: 26.3.2001 12:33:19

Proč to dělat jednoduše, když to jde složitě :)

Díky. Tohle IMHO nejjednodušší řešení mě nenapadlo.

Jedná vada na kráse je ta, že si ve formuláři nemohu zadat co se má vypsat, když je položka prázdná. (Maximálně nema položky, což není vždy to pravé ořechové.) Každopádně si myslím, že účel to plní.

Avatar

Autor komentáře: Marek Konvičný

Datum vložení: 26.3.2001 12:53:47

A co kdybyste měl nadefinované pole, kde by byly ty texty a pak jste je jen použil dle situace? Pokročím-li v úvaze dál:

a)pole chybových hlášek
b)pole názvů položek

S použitím obou polí dosáhnete kýženého ;-))
...a kód bude přehlednější a čitelný!

Avatar

Autor komentáře: Borg

Datum vložení: 30.8.2007 15:30:31

Ja viem ze tento clanok ma 7 rokov ale neda mi. Je tam chyba. Totiz ak napisete do kolonky VEK napr. "123foo", ono to odklepne a vrati TRUE. Pokial chcete ziskat cisty numericky format a pravdaze nie prazdnu premennu musite dat nasledovnu podmienku: if ((premenna.value.length==0) || (isNaN(Number(premenna.value))))

Zpět na článek | Úvodní stránka Interval.cz