Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Kontrola formulářových polí

peCan
verified
rating uzivatele
25. 2. 2008 20:45:49
Ahojte,
prosím o radu, kontrola funguje správně, není-li zadána hodnota inputu "jmeno", zahlásí se alert, nastaví se barva pozadí na červenou, focus se nastaví taktéž a odesílání formuláře se zastaví.
"Problém" ale je, že když pole je vyplněno, nenastaví se na zelené pozadí. (Ten pokusný alert se vypíše).
Pak se může stát, že uživatel bude vidět políčka červené, i když jsou již vyplněné, působí to zmatečně. Samozřejmě barvu na zelenou bych chtěl nastavovat pouze tehdy, je-li barva inputu červená. Nemusí to být zelená, vhodnější by byl standardní styl.
function KontrolaFormularePovinnePole(f)
{
if(f.jmeno)
{
if(f.jmeno.value == "")
{
window.alert("Nevyplnil jsi pole Jméno!");
f.jmeno.style.backgroundColor = "#FF8080"; // cervena
f.jmeno.focus();
return false;
}
else
{
f.jmeno.style.backgroundColor = "#00FF00"; // zelena, NEFUNGUJE
alert("OK"); // alert se vypise
}
}// jmeno
} // KontrolaFormularePovinnePole
Dík za rady.
25. 2. 2008 20:45:49
https://webtrh.cz/diskuse/kontrola-formularovych-poli/#reply46674
V tom samotném skriptu je vše ok.
25. 2. 2008 21:21:17
https://webtrh.cz/diskuse/kontrola-formularovych-poli/#reply46673
peCan
verified
rating uzivatele
25. 2. 2008 21:49:27
Vyřešeno. Už funguje jak chci, ale pouze ve firefoxu :-(
Firebug je mocný;-)
V JS jsem začátečník, nezná někdo nějaký pěkný web?
Nebo aspoň říct co mám hledat - to mám každou fci psát pro určitý prohlížeč?
if(f.nazev)
{
if(f.nazev.value == "")
{
window.alert("Nevyplnil jsi pole Název!");
f.nazev.style.backgroundColor = "rgb(255, 128, 128)";
f.nazev.focus();
return false;
}
else
{
if(f.nazev.style.backgroundColor == "rgb(255, 128, 128)")
{
f.nazev.style.backgroundColor = "rgb(128, 255, 128)";
}
else
{
if(f.nazev.style.backgroundColor == "rgb(128, 255, 128)")
{
f.nazev.style.backgroundColor = "";
}
}
}
}// nazev
25. 2. 2008 21:49:27
https://webtrh.cz/diskuse/kontrola-formularovych-poli/#reply46672
Začni používat nějaký framework, který to vyřeší za tebe.
25. 2. 2008 21:53:37
https://webtrh.cz/diskuse/kontrola-formularovych-poli/#reply46671
Doporučuji jQuery (www.jquery.com). Lze s tím dělat psí kusy, dost to ulehčí práci. Např. ajax - na jednom řádku položím dotaz a pak už se věnuji jenom zpracování odpovědi. Nebo selectors - můžeš používat různé filtry - :first, :not, :even, content filtry atd. Rozhodně to stojí za pozornost
26. 2. 2008 07:19:26
https://webtrh.cz/diskuse/kontrola-formularovych-poli/#reply46670
Pro odpověď se přihlašte.
Přihlásit