2012-01-10 87 views
2

我一直在使用JavaScript佔位符腳本來支持IE佔位符。佔位符 - 對於textarea輸入

適用於輸入類型=文本。但是,我該如何編寫腳本的補充以支持textarea?

我的代碼是:提前

function activatePlaceholders() { 
var detect = navigator.userAgent.toLowerCase(); 
if (detect.indexOf("safari") > 0) return false; 
var inputs = document.getElementsByTagName("input"); 
for (var i=0;i<inputs.length;i++) { 
    if (inputs[i].getAttribute("type") == "text") { 
    if (inputs[i].getAttribute("placeholder") && inputs[i].getAttribute("placeholder").length > 0) { 
    inputs[i].value = inputs[i].getAttribute("placeholder"); 
    inputs[i].onclick = function() { 
    if (this.value == this.getAttribute("placeholder")) { 
     this.value = ""; 
    } 
    return false; 
    } 
    inputs[i].onblur = function() { 
    if (this.value.length < 1) { 
     this.value = this.getAttribute("placeholder"); 
    } 
    } 
    } 
    } 
} 
} 
window.onload=function() { 
activatePlaceholders(); 
} 

感謝。

回答

3

只需查詢文本區域元件

function activatePlaceholders() { 
var detect = navigator.userAgent.toLowerCase(); 
if (detect.indexOf("safari") > 0) return false; 
var inputs = document.getElementsByTagName("textarea"); 
for (var i=0;i<inputs.length;i++) { 

    if (inputs[i].getAttribute("placeholder") && inputs[i].getAttribute("placeholder").length > 0) { 
    inputs[i].value = inputs[i].getAttribute("placeholder"); 
    inputs[i].onclick = function() { 
    if (this.value == this.getAttribute("placeholder")) { 
     this.value = ""; 
    } 
    return false; 
    } 
    inputs[i].onblur = function() { 
    if (this.value.length < 1) { 
     this.value = this.getAttribute("placeholder"); 
    } 
    } 
    } 
} 
} 
window.onload=function() { 
activatePlaceholders(); 
} 
4

textarea的是不是一個輸入類型。這本身就是一個標籤。例如

<textarea rows=10 placeholder="Enter text here"></textarea> 

在這種情況下,你的代碼可以

var inputs = document.getElementsByTagName("textarea"); 
inputs[0].setAttribute('placeholder','New placeholder'); 

希望它可以幫助