Autor Zpráva
quatzael
Profil
Nedávno jsem řešil vybarvování input borderů v tomhle vlákně: Hlásí chybu, že element s ID neexistuje i když ho najde(?!)

Jenže to vybarvování pomocí javascriptu totálně zruší border-color definovaný pomocí tříd.

Jde o to, že mám v javascriptu různé události, při kterých těm inputům přiřazuju různé třídy, a potřeboval bych nějak nastavit jejich prioritu.

Když si nespustím to vybarvování pomocí javascriptu, tak mi pomocí jiných events funguje přidělování tříd bez problému.

Mám dvě třídy: jedna se přidělí inputu při události focus a druhá při události submit. Obě mají mimo jiné vlastnost border-color, každá s jinou barvou..

Problém je, že když si spustím to javascriptový vybarvování ze zmíněného vlákna, při následné události a přiřazení třidy už se border color nezmění tak já má, ale zůstane na stejný barvě tak jak to ten javascript vybarvil.

A já bych potřeboval, aby šlo nějak nastavit to přiřazovaní třid, tak aby to fungovalo stejně jako před tou animací..
margin
Profil *
quatzael:
při kterých těm inputům přiřazuju různé třídy
Přiřazování tříd bude fungovat správně (dle pořadí zápisu v CSS). Ty ale přiřazuješ ne třídy, ale přímo border-color. Je jasné, že když v JS border odebereš (pomocí inline stylu), že se CSSkový border neaplikuje (inline styl má větší váhu než styl aplikovaný na třídu nebo ídéčko).
quatzael
Profil
margin:
No ale jak to mám udělat, aby mi to fungovalo? Nejde nějak to stylovani z toho javascriptu zpětně odebrat?
Chamurappi
Profil
Reaguji na quatzaela:
Jde při skončení animace nastavit prázdný řetězec. A změnit className.
quatzael
Profil
Chamurappi:
Jestli myslíš tohle:
document.getElementById("nazev-inputu").style.borderColor = "";

tak to jsem zkoušel a nefunguje to..
Chamurappi
Profil
Reaguji na quatzaela:
V tom případě jsi dělal něco špatně.
quatzael
Profil
Chamurappi:
Už to jede.. Neuvědomil jsem si, že ten cyklus furt běhá, takže to musím zadat, až to doopravdy skončí..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0