изменить 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, время: 05:47. |