Почему этот MooTools Javascript не работает в IE - PullRequest
0 голосов
/ 14 июля 2011

Все, что я хочу сделать, это создать вход с инициализированным значением.Затем при фокусировке очищает текстовое поле.однако при размытии и когда поле пустое, оно должно вернуть свое инициализированное значение.Он также должен работать с полями пароля.Это то, что я придумал, он не работает, т.е.

Сообщение об ошибке enter image description here

      $$('.default-text').each(function(item){

        item.store('default-value', item.get('value'));

       if(item.get('type') == 'password') {
            item.store('default-type', 'password');
            item.set('type', 'text');
            item.addEvent('keyup',function(el){
                if(item.get('value') != item.retrieve('default-value')) {
                    item.set('type', 'password');
                }
            });
        }            
        item.addEvent('focus',function(el){
            if(item.get('value') == item.retrieve('default-value')) {
                item.set('value','');
            }
        });
        item.addEvent('blur',function(){
            if(item.get('value') == '') {
                item.set('value', item.retrieve('default-value'));
                if(item.retrieve('default-type') == 'password') {
                    item.set('type', 'text' );
                }
            }
        });
    });

1 Ответ

0 голосов
/ 14 июля 2011

В IE возникла проблема с заменой input.type свойств.

Обмен между типами просто не работает, если я правильно помню - что, я думаю, они сделали, чтобы спасти себя от горя.

Например, изменение поля text на поле file имеет последствия для безопасности, field.set("value", "c:\autoexec.bat").set("type", "file").getParent().send().

изменить password на text, также хитроумно (откроет пароль в виде обычного текста). изменение text на checkbox / radio имеет проблемы с перекомпоновкой и поведением.

Я могу продолжить, но команда IE просто подумала, что лучше не допустить этого и положить им конец, а не разбираться с каждым делом.

Тебе нужно немного переосмыслить свою логику.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...