2013-12-15 52 views
0

我的Web應用程序包含四個過濾表格的表單域。所有針對IE的HTML5佔位符修補程序都將「佔位符」替換爲「值」,並取消模糊處理的值。不影響表單字段值的IE佔位符修復程序

不幸的是,在IE中,我的表單域試圖根據'佔位符'修復過濾表。

是否存在不影響實際字段值的佔位符修復?

回答

1

我遇到了同樣的問題之前,所以我做了我自己的後備

jsfiddle

//place holder fallback 
    var testInput = document.createElement('input'); 
    var placeholderSupport = ("placeholder" in testInput); 

if(!placeholderSupport){ 
    $('input[placeholder]').each(function (index, current) { 
    var $real = $(this); 
    var placeHolderValue = $real.attr("placeholder"); 
    var classes = $real.attr("class"); 
    $fakeInput = $("<input>").attr({"type": "text"}).val(placeHolderValue).addClass('placeholder fake-input' , classes); 

    $fakeInput.insertBefore($real); 
    $real.hide(); 
    $fakeInput.focus(function() { 
     $(this).blur().hide() 
     .next().show().focus(); 
    }); 

    $real.blur(function() { 
     if ($(this).val() == '') { 
     $(this).hide() 
     .prev().show(); 
     } 
    }); 
    }); 
}