2009-08-22 3 views
2

У меня есть поле ввода, которое по умолчанию установлено как type = "text", чтобы в нем можно было отобразить слово Password. У меня есть следующее, чтобы изменить его на поле пароля, когда пользователь его выбирает, который отлично работает в любом браузере, который я пробовал, кроме Internet Explorer.this.type = 'password' не работает в IE, но все остальные браузеры

onfocus="this.type='password';" 

Как я могу сделать эту работу в IE?

+0

Вот почему советуем никогда больше не использовать I.E. –

+0

Да, отличная мысль, но у 60% ваших пользователей есть другие идеи ...! – redsquare

+0

Да, правда! :-) Я не против разработки для Internet Explorer, хотя я бы хотел, чтобы это было легче LOL. –

ответ

6

IE не любит динамически менять тип элемента, одним из решений может быть замена элемента полностью. Однако я бы посоветовал вам просто использовать пароль типа ввода, чтобы любые пользователи non js по-прежнему получали одинаковые функциональные возможности и живут без водяного знака.

1

Какое влияние вы пытаетесь достичь? Вы хотите, чтобы начальный пароль был видимым, но когда они идут, чтобы ввести новый, он затенен? Если это так, вы можете просто заменить элемент на ввод пароля, скопировав значение.

1

Вам лучше использовать метку < > с текстом «пароль», а не отображать его внутри самого элемента управления. Вы можете сделать ярлык таким, как он находится внутри текстового поля, используя css. В A List Apart есть хорошая статья о таких вещах: http://www.alistapart.com/articles/makingcompactformsmoreaccessible/