изменить type='password' в ie
Собственно сабж.
Нужно изменить type="password" на type="test" в IE, у меня это никак не удается. Мой код: <script> var pass = document.getElementById('pass'); var repass = document.getElementById('repass'); pass.type = "text"; repass.type = "text"; } </script> |
Цитата:
|
Vaio,
перезаписывайте весь input а не только его тип |
Цитата:
Цитата:
Цитата:
|
Например
pass.parentNode.replaceChild(document.createElement('input'), pass); |
Цитата:
|
Vaio, да у вас склероз ведь! Только что ведь выяснили что type сменить нельзя (в IE)
|
danik.js, посмотрите, пожалуйста, как здесь это реализовали. Работает в IE, в коде смог разобраться..
|
Цитата:
|
Цитата:
|
Vaio,
можно сделать вот такой костыль <!DOCTYPE HTML> <html> <head> </head> <body> <div id="container"> <input type="text" id="input_text"/> <input type="password" id="input_password" /> </div> <input type="button" value="show/hide" onclick = "test();"> <script> function $(selector){ return document.querySelector(selector); } function password(params){ var self = this; this.show = params.show; getState(); this.getState = getState; params.text.onkeypress = onKeypress; params.password.onkeypress = onKeypress; function onKeypress(){ var self = this; setTimeout(function(){ var attr = self.getAttribute("type"); if(attr == "text") params.password.value = self.value; else params.text.value = self.value; },0); } function getState (){ if(self.show) { setDisplay(params.text, true); setDisplay(params.password, false); } else { setDisplay(params.text, false); setDisplay(params.password, true); } self.show = !self.show; } function setDisplay(elem, show){ if(show) elem.style.display = ""; else elem.style.display = "none"; } } var pass = new password({ password:$("#input_password"), text:$("#input_text"), show:false // задает показывать ли изначально содержимое }); function test(){ pass.getState();//метод изменяет состояние (показываеть скрывает) }; </script> </body> </html> |
cyber,
function $(selector){ return document.querySelectorAll(selector)[0]; } А почему не так function $(selector){ return document.querySelector(selector); } |
Hekumok,
потому что это просто пример, и мне просто так удобней) |
Цитата:
|
просто это уже привычка, когда пишу тестовый пример в основном делаю что бы функция возвращала 1 элемент и если нужно делаю еще 1 что бы возвращала массив(нужно очень редко). Просто лень каждый раз писать $("#id")[0] и все))
|
Цитата:
|
Hekumok,тупая привычка за которую нужно начинать бить себя по рукам(по тому что querySelector быстрей);)
|
Часовой пояс GMT +3, время: 09:56. |