placeholder is not working in IE9

后端 未结 3 1355
栀梦
栀梦 2021-01-15 04:41

I am salesforce (SFDC) developer. In my visualforce page for input box I am using placeholder code.

相关标签:
3条回答
  • 2021-01-15 05:35

    As IE9 doesn't support the placeholder attribute, you can do it in Javascript/jQuery like so (quickly written, not tested):

    if(navigator.appVersion.match(/MSIE [\d.]+/)){
        var placeholderText = 'Some Placeholder Text';
        $('#first_name').val(placeholderText);
        $('#first_name').blur(function(){
            $(this).val() == '' ? $(this).val(placeholderText) : false;
        });
        $('#first_name').focus(function(){
            $(this).val() == placeholderText ? $(this).val('') : false;
        });
    }
    

    Do the same for the blur event too, then that will mimic a placeholder attribute.

    [Edit]

    Okay, after rethinking this (due to the comment) this is really not the most elegant solution (however it does work), so I would disregard this answer totally.

    0 讨论(0)
  • 2021-01-15 05:35

    A little simpler answer worked for me not being very trusting of Regex (my downfall)

    function setPlaceHolderForIE9() {
        var pos = window.navigator.userAgent.indexOf("MSIE");
    
        if (pos > 0) {
            if (window.navigator.userAgent.substring(pos + 5, window.navigator.userAgent.indexOf(".", pos)) < 10) {
                //alert($("input[placeholder]").val($("input[placeholder]").attr("placeholder")));
                $("input[placeholder]").each(function () {
                    $(this).val($(this).attr("placeholder"));
                });
    
                $("input[placeholder]").click(function () {
                    if ($(this).val() === $(this).attr("placeholder")) {
                        $(this).val('');
                    }
                });
    
                $('input[placeholder]').blur(function () {
    
                    if ($.trim($(this).val()).length === 0) {
                        $(this).val($(this).attr("placeholder"));
                    }
                });
    
    
            }
        }
    }
    
    0 讨论(0)
  • 2021-01-15 05:45
    if(navigator.appVersion.match(/MSIE [\d.]+/)){
        $(document).find("input[placeholder]").each(function(){
            if($.trim($(this).val()) == ""){
                $(this).val($(this).attr("placeholder")).addClass('placeholder');
            }
            $(this).on("focus",function(){
                $(this).hasClass('placeholder') ? $(this).val('').removeClass('placeholder') : false;
            }).on("blur",function(){
                $(this).val() == '' ? $(this).val($(this).attr("placeholder")).addClass('placeholder') :false;          
            });
        });     
    }
    
    0 讨论(0)
提交回复
热议问题