Výsledky 1 až 11 z 11

Téma: [JS, CSS] Změna stylu vstupního pole při výběru

  1. #1

    Question [JS, CSS] Změna stylu vstupního pole při výběru

    Ahoj,

    v javascriptu moc nedělám, tak marně tápu.. Ve formuláři textové vstupní pole. Chci aby tam šedým textem bylo napsáno např. "sem zadejte heslo". Po výběru pole text zmizí a uživatel tam napíše vlastní už normálním písmem (klasika, všichni to známe z přihlašování).
    Vyhodit text nápovědy po vybrání problém není, ale nevím jak přepnout styl.... Poradil by někdo?
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  2. #2
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 404
    Vliv
    298

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    ahoj, rád bych poradil, ale koukám, že to mám řešené bez těch stylů (http://www.hanspaulska-liga.cz nahoře vpravo).
    takže pokud něco potřebuješ okoukat, opsat, inspiruj se u mně.
    já přidávám téma do sledovaných

    edit: nebude to něco jako tahle pseudotřída (css3, focus)? nemám čas to zkoušet/testovat, kdyžtak napiše jak jsi dopadl.
    http://www.cssdrive.com/index.php/ex..._pseudo_class/

  3. #3

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Kód:
    function changeClass(){
        document.getElementById("idElementu").setAttribute("class", "požadovanáTřída");
    }
    E2140 w/Gemin II, P35-DS3, 2GB Vitesta 800+, 8800GTS 512, Hitachi T7250, Samsung F3 HD502HJ, Logitech G5, Logitech K300, Dell 2209WA, Corsair HX520
    Olympus E-300 + ME-1|ZD 1445|ZD 4015|Auto-Yashinon DX 50/1.7|Pentacon Electric 135/2.8 MC
    Dali 850 Red Line (Seas + Vifa) | Rotel RC-971 | 2x SPV100p+ | Onkyo SE-200 | Paolo speaker cable
    Dell D610 (P-M Sonoma 2.26GHz, 2GB DDR2, 80GB 7.2k, Radeon X300, DVDRW, BT, IrDA, WiFi, 14.1" SXGA+)
    Xbox 360 | 120GB

  4. #4

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Díky, vyřešeno!

    A když už jsme u toho, je nějaký rozdíl v zápisu:
    document.testf.info.className = 'norm';
    nebo
    document.getElementById(id).setAttribute('class', 'norm');

    Jasně - jeden bere prvek podle jména, druhý podle id.
    Ale pokud z hlediska čistoty kódu je vhodnější pracovat s kterou verzí?
    Můj dojem je, že podle id je to asi modernější a víc publikované. Na druhou stranu se nejde zbavit dojmu, že je to takové škrábání se levou nohou za pravým uchem. V případě, že nepotřebuju parametry předávat do funkce a znám přesně jména, je něco špatného měnit přímo vlastnosti prvků?
    Ptám se jen proto, aby až si někdo po mě bude číst kód neřekl že jsem čuně
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  5. #5

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Nejlip na tohle pouzivat nejakej framework protoze se to lisi browser od browseru. Asi nejznamenjsi je jQuery http://jquery.com/
    GigaByte GA-M55plus-S3G --- A64 3200+ @ 24oo ~ 1,375V BOX --- 2x512 Geil 667 CL4 @ 980 CL5 --- WD2500KS --- Acer AL1721ms --- 1/1 MBit/s via WiFi
    Blog

    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 aneb jeste ze ty "ochrany" programujou rozumny lidi :]

  6. #6

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Citace Původně odeslal MEluZíNa Zobrazit příspěvek
    Nejlip na tohle pouzivat nejakej framework protoze se to lisi browser od browseru. Asi nejznamenjsi je jQuery http://jquery.com/
    Máš naprostou pravdu, jenže já tohle jednak píšu do svého frameworku a hlavně se přitom učím. jQuery je zatím pro mne kanón na vrabce, občas ho použiju na něco, kde zatím znalostmi nestačím. Používat cizí řešení vyžaduje především jim rozumět a to zatím říct nemůžu.

    Ale mám další otázku - teď pls jen teoreticky:

    Situace:
    - mám formulář, kde jsou předvyplněná pole textem sloužícím jako nápověda
    - na onFocus() vyhodím text, nastavím normální styl a umožním editaci
    - na onBlur() zkontroluju data, pokud je prázdné vrátím tam text nápovědy

    Funguje to dobře, ale text nápovědy je napsaný dvakrát pro každé pole (jako value a pak ve funkci onBlur()), což je samozřejmě špatně.
    Jak to řešit elegantněji - ideálně bych někam do kódu nadefinoval help-texty pro dané id a linkované fce by byly nezávislé na formu ?
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  7. #7
    Member
    Založen
    21.10.2002
    Bydliště
    Praha Petřiny
    Věk
    44
    Příspěvky
    309
    Vliv
    281

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Citace Původně odeslal Aigor Zobrazit příspěvek
    - na onFocus() vyhodím text...
    do nejake promenne treba ? A po kontrole ho tam pripadne vratim ?
    Hope is the first step on the road to disappointment.
    Alcohol is the first step towards alcoholism.

  8. #8

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Dobrá, to mě také napadlo - ale jak tam ten text definovat?
    Pokud ho jednoduše převyplním jako value, tak sice JS si s tím bude umět poradit jak říkáš, ale když se bude form reloadovat např. kvůli opravě a ve value budou data ke kontrole, tak je to už špatně.
    Zase mě napadá jedině napsat extra fci pro help-text na každé pole extra, ale to je prostě čuňárna. Musí být nějaké elegantnější řešení...
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  9. #9
    Member
    Založen
    21.10.2002
    Bydliště
    Praha Petřiny
    Věk
    44
    Příspěvky
    309
    Vliv
    281

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Napada me druha prasarna a to treba nejaky parametr u inputu [input type='text' help='bla bla bla' ... /] (html by pak bylo nevalidni) a nebo ten formular generovat tak, ze za kazdym inputem vypises treba span s display:none a v nem budes mit tyhle napovedy (ciste reseni, co se validity tyce). Ty si pak jednoduse kdykoli nactes / zobrazis. Ted netusim, jak to s napovedou (nikoli validaci) delaji ruzne frameworky.
    Hope is the first step on the road to disappointment.
    Alcohol is the first step towards alcoholism.

  10. #10

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Zrovna u toho dnes sedím a nakonec to řeším celkem triviálně

    Nápovědu píšu do title, takže je to validní i přehledné. Což se mě asi líbí nejvíc. Sice už tam nejdou takové blbinky jako že v title bude ještě něco jiného než se předvyplní, ale to už bych neřešil. Jinak ten tvůj nápad se spanem taky nezní špatně!

    Na každém prvku mám navěšenou fci onFocus() a onBlur().
    onFocus zjistí pokud je aktivní styl nápovědy a vyhodí nápovědný text (přičemž v title funguje dál, takže pro méně chápavě BFU se jim to zobrazí stejně)
    onBlur zkontroluje jestli form obsahuje nějaké data, pokud ne, vrátí obsah title a zapne styl pro nápovědu

    Teď zbývá čistě JS cyklus, kde vůbec nevím na co se zeptat google....
    - jak napsat fci onLoad, která prohledá stránku a pro všechny vstupní prvky ve formulářích zavolá onBlur(id) kvůli inicializaci ?
    PC: GA-EP45-DS3R | E8400 + Ninja | 8GB | 80GB SSD X25-M | Zotac 9500GT | Asus Xonar DX | 2x Hauppauge WinTV HVR-1300 | Enermax MODU82+ 525W | Lancool K1
    Foto: Canon 20D | Tokina 12-24/4 | Canon 24-105/4 L IS USM | Canon 50/1,8 | Giottos MTL3361 + 1301-621C | Nodal Ninja NN5

  11. #11

    Standardní Re: [JS, CSS] Změna stylu vstupního pole při výběru

    Pokud muzes pouzit HTML5, tak tam je pekna ficurka data attributes http://www.zdrojak.cz/clanky/html5-u...a-k-elementum/

    [EDIT] a prave treba na prochazeni vsech elementu majicich nakou vlastnost je moc prima jQuery (nasledujici kod najde vsechny element majici tridu 'input-with-helper-text' a vsem jim pripoji onFocus a onBlur handlery) :
    Kód:
    $('.input-with-helper-text').focus(function(element){
       //... zde napises handler pri onFocus
    }).blur(function(element) {
       //... zde napises handler pri onBlur
    });
    Naposledy upravil MEluZíNa; 02.05.2012 v 14:02.
    GigaByte GA-M55plus-S3G --- A64 3200+ @ 24oo ~ 1,375V BOX --- 2x512 Geil 667 CL4 @ 980 CL5 --- WD2500KS --- Acer AL1721ms --- 1/1 MBit/s via WiFi
    Blog

    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 aneb jeste ze ty "ochrany" programujou rozumny lidi :]

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. [Delphi] Tlačítka ve stylu XP
    Založil vitosek v sekci fóra Programování
    Odpovědí: 14
    Poslední příspěvek: 22.04.2005, 23:21
  2. Budou DVD mechaniky ve stylu F1 nebo Premium ?
    Založil globalkiller v sekci fóra Optické, přenosné a jiné disk(et)y
    Odpovědí: 1
    Poslední příspěvek: 24.11.2004, 22:27
  3. fluxbox a nacitani necelych stylu - vyreseno
    Založil bufobufo v sekci fóra Operační systémy na bázi Unixu
    Odpovědí: 9
    Poslední příspěvek: 09.10.2004, 20:25

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •