Showing Placeholder text for password field in IE

前端 未结 8 1120
悲&欢浪女
悲&欢浪女 2020-12-03 23:19

I know there is a ton of placeholder questions, but I am trying to perfect mine.

My current code works great and does what it\'s supposed to. The problem is, when I

相关标签:
8条回答
  • 2020-12-03 23:36

    A bit late however same here, i was working on the issue too IE9 doesnot show the password placeholder as text, in almost all the answers on the internet some suggest changing the type some but if u do this u will have another issue on the login page like when you will see with double click on password field as its type changed to text from password, btw it works with prop. e.g. prop("type","password") if you want to change the type of an element.

    on the other hand i think most answers come from a single solution its like focus and blur actions of elements. but when u apply this plugin other text fields will also be effected there is no specific or i can say generlized solution, i have still a minor issue on the login page with the password field but its showing the text correctly. anyway. here is how i have configured, copied,changed and/or another inherited anwers here.

    (function($) {
        $.fn.placeholder = function() {
            $('input[placeholder], textarea[placeholder]').focus(function() {
                var input = $(this);
                if (input.val() === input.attr('placeholder')) {
                    if (input.prop("id") === "password") {
                        input.prop("type", "password");
                    }
                    input.val('');
                    input.removeClass('placeholder');
                }
            }).blur(function() {
                var input = $(this);
                if (input.val() === '' || input.val() === input.attr('placeholder')) {
                    input.addClass('placeholder');
                    if (input.prop("type") === "password") {
                        input.prop("type", "text");
                    }
                    input.val(input.attr('placeholder'));
                }
            }).blur().parents('form').submit(function() {
                $(this).find('input[placeholder], textarea[placeholder]').each(function() {
                    var input = $(this);
                    if (input.val() === input.attr('placeholder')) {
                        input.val('');
                    }
                });
            });
        };
    })(jQuery);
    

    still an active prolem ... :D

    0 讨论(0)
  • 2020-12-03 23:46

    I had the same problem so i wrote a little plugin

    $.fn.passLabel = function(){
    var 
    T = $(this),
    P = T.find('input[type=password]'),
    V = pass.val();
    
    P.attr('type','text');
    P.focus(function(){ 
    if(V == "")
    P.attr('type','password');
    });
    }
    

    now you just call it for the from at it will find all input fields with the password attribute.

    eg.

    $('form').passLabel();
    
    0 讨论(0)
提交回复
热议问题