解决IE浏览器textarea或input标签placeholder不生效的问题
IE10给textarea设置了placeholder,F12控制台打印document.getElementById(id).getAttribute('placeholder'),可以看到placeholder的值,但是浏览器不显示,可以再添加如下代码显示出来,不需要引用JQuery,提交后台时记得校验输入框的值是否是placeholder的值,如果是还要清空value,否则会把placeholder传到后台
该方法前提是该元素已经设置了placeholder属性,并且浏览器支持placeholder,IE8和IE9不支持,参考链接https://www.zhangxinxu.com/wordpress/2012/02/html5-placeholder%E4%BD%BF%E7%94%A8%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB%E5%8F%8A%E6%8B%93%E5%B1%95/
该方法前提是该元素已经设置了placeholder属性,并且浏览器支持placeholder,IE8和IE9不支持,参考链接https://www.zhangxinxu.com/wordpress/2012/02/html5-placeholder%E4%BD%BF%E7%94%A8%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB%E5%8F%8A%E6%8B%93%E5%B1%95/
!("placeholder" in document.createElement("input"))用来判断浏览器是否支持placeholder
function placeholderForIE (element) { var placeholder = ''; if (element && !("placeholder" in document.createElement("input")) && (placeholder = element.getAttribute("placeholder"))) { element.onfocus = function() { if (this.value === placeholder) { this.value = ""; } this.style.color = ''; }; element.onblur = function() { if (this.value === "") { this.value = placeholder; this.style.color = 'graytext'; } }; //样式初始化 if (element.value === "") { element.value = placeholder; element.style.color = 'graytext'; } } };
placeholderForIE(document.getElementById(id))//调用上面的函数,前提是该元素已经设置了placeholder属性,
//提交后台时记得校验输入框的值是否是placeholder的值,如果是还要清空value,否则会把placeholder传到后台

浙公网安备 33010602011771号