Autor | Zpráva | ||
---|---|---|---|
Medvídek Profil |
#1 · Zasláno: 1. 2. 2011, 11:19:23
Zdravím,
u skriptu na změnu typu inputu mi zlobí focus ve všech verzích IE, Ve FF a Chromu to funguje. function replaceT(obj){ var newO=document.createElement('input'); newO.setAttribute('id','psswd'); newO.setAttribute('type','password'); newO.setAttribute('name',obj.getAttribute('name')); newO.className ='psswd-input'; obj.parentNode.replaceChild(newO,obj); document.getElementById('psswd').focus(); } <input class="psswd-input" type="text" name="psswd" id="psswd" value="heslo" onfocus="replaceT(this)"> Nevíte, proč to IE nebere? |
||
Chamurappi Profil |
#2 · Zasláno: 1. 2. 2011, 12:55:49
Reaguji na Medvídka:
„document.getElementById('psswd').focus();“ Co myslíš, že ten document.getElementById najde? To, co už máš v obj , nebo to, co už máš v newO ? Je zbytečné hledat podle ID to, co už máš v proměnné, ne?
Zvolený způsob zobrazování popisku na místě místě <input> u mi připadá krkolomný. Je záměrem, aby uživatelé bez skriptování vepisovali heslo do obyčejného textového <input> u?
Mimochodem, doporučuji užívat standardní vlastnosti HTML DOMu místo getAttribute/setAttribute. |
||
Medvídek Profil |
#3 · Zasláno: 1. 2. 2011, 13:14:08
Chamurappi:
„Co myslíš, že ten document.getElementById najde? To, co už máš v obj, nebo to, co už máš v newO? Je zbytečné hledat podle ID to, co už máš v proměnné, ne?“ Samozřejmě jsem to zkoušel nejprve pomocí toho, co už mám v té proměnné, se stejným výsledkem. „Zvolený způsob zobrazování popisku na místě místě <input>u mi připadá krkolomný. Je záměrem, aby uživatelé bez skriptování vepisovali heslo do obyčejného textového <input>u?“ Takový je prostě požadavek, popisy inputů přímo v nich. Uživatelé bez js na těch stránkách stějně nebudou mít co dělat, takže to neřešim, jestli má nebo nemá uživatel js. „Mimochodem, doporučuji užívat standardní vlastnosti HTML DOMu místo getAttribute/setAttribute.“ To jsem si četl, když sem nemohl zjsitit, proč nefungovalo setAttribute class v IE a použil sem tvoje doporučení. Ale stále nevim, čím je způsobeno, že nejde ten focus. |
||
Časová prodleva: 13 let
|
0