function placeHolder(obj) { if (!obj.getAttribute('placeholder')) return; var supportPlaceholder = 'placeholder' in document.createElement('input'); if (!supportPlaceholder) { var defaultValue = obj.getAttribute('placeholder'); var placeHolderCont = document.createTextNode(defaultValue); var oWrapper = document.createElement('span'); /*oWrapper.className = 'wrap-placeholder';*/ oWrapper.style.cssText = 'position:absolute; background-color:rgba(0, 0, 0, 0);'; oWrapper.style.color = getStyle(obj, 'color'); oWrapper.style.textAlign = getStyle(obj, 'textAlign'); oWrapper.style.verticalAlign = getStyle(obj, 'verticalAlign'); oWrapper.style.fontFamily = getStyle(obj, 'fontFamily'); oWrapper.style.fontSize = getStyle(obj, 'fontSize'); oWrapper.style.top = getStyle(obj, 'top'); oWrapper.style.left = getStyle(obj, 'left'); oWrapper.style.right = getStyle(obj, 'right'); oWrapper.style.paddingTop = getStyle(obj, 'paddingTop'); oWrapper.style.paddingLeft = getStyle(obj, 'paddingLeft'); oWrapper.style.paddingRight = getStyle(obj, 'paddingRight'); oWrapper.style.width = obj.offsetWidth; oWrapper.style.height = (obj.nodeName.toLowerCase()=='textarea')? '' : obj.offsetHeight + 'px'; oWrapper.style.lineHeight = parseInt(oWrapper.style.height) - (parseInt(oWrapper.style.paddingTop)? 4:0) + 'px'; oWrapper.style.marginTop = getStyle(obj, 'marginTop')? getStyle(obj, 'marginTop') : '1px'; oWrapper.style.marginLeft = -obj.offsetWidth + 'px'; oWrapper.appendChild(placeHolderCont); obj.parentNode.insertBefore(oWrapper, obj.nextSibling); oWrapper.onclick = function () { obj.focus(); } if (typeof(obj.oninput)=='object') { obj.addEventListener("input", changeHandler, false); } else { obj.onpropertychange = changeHandler; } function changeHandler() { oWrapper.style.display = (obj.value != '' ? 'none' : 'inline-block'); } } } function getStyle(obj, styleName) { var oStyle = null; if (obj.currentStyle) { oStyle = obj.currentStyle[styleName]; } else if (window.getComputedStyle) { oStyle = window.getComputedStyle(obj, null)[styleName]; } return oStyle; }