为什么这个MooTools Javascript无法在IE中运行

时间:2011-07-14 07:29:19

标签: javascript mootools

我想做的就是创建一个具有初始值的输入。然后在聚焦时清除文本字段。但是在模糊时,当字段为空时,它应该返回其初始值。它也应该与密码字段一起使用。这就是我想到的那就是它没有在ie。

工作

错误讯息 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 :(得分:0)

IE在交换input.type属性时遇到问题。

如果我没记错的话,在类型之间交换似乎不起作用 - 我认为他们这样做是为了挽救自己一些悲伤。

例如,将text字段更改为file字段会产生安全隐患field.set("value", "c:\autoexec.bat").set("type", "file").getParent().send()

password更改为text,也是狡猾的(以明文形式显示密码)。将text更改为checkbox / radio会产生重排和行为问题。

我可以继续,但IE团队只是认为最好不要允许这些并结束它们,而不是处理每个案例。

你需要在某种程度上重新思考你的逻辑。