2013-09-30 60 views
1

这里有一个文本框:无法更改文本框的颜色?

<asp:TextBox ID="UsernameTextBox" runat="server" class="BlockInput"></asp:TextBox> 

我想给一个asp textbox一些色彩,但它不变色

<script type="text/javascript"> 
    function BlockInput() { 
     var elements = document.getElementsByClassName("BlockInput"); 
     for (var i = 0; i < elements.length; i++) { 
      elements[i].readOnly = true; // works 
      elements[i].style.color = "#000000";// does not work! 
     } 
    } 
    window.onload = BlockInput; 
</script> 

当我查看添加源我能看到的样式:

<input name="ctl00$MainContent$UsernameTextBox" 
     type="text" id="MainContent_UsernameTextBox" 
     class="BlockInput" readonly="" style="color: rgb(0, 0, 0);"> 

我也确定没有什么东西会覆盖CSS。

+0

你的意思是脸色还是背景色? – melancia

+0

只是对最佳做法的评论:http://stackoverflow.com/questions/559150/best-practice-for-using-window-onload –

+0

是的家伙其背景即时通讯设法改变 – meda

回答

3

变化

elements[i].style.color = "#000000"; 

elements[i].style.backgroundColor= "#000000"; 

希望这会帮助你。

<script type="text/javascript"> 
    function BlockInput() { 
var elements=document.getElementsByTagName('input'); 
     for (var i = 0; i < elements.length; i++) { 
      elements[i].readOnly = true; // works 
      elements[i].style.backgroundColor= "#000000"; 
     } 
    } 
    window.onload = BlockInput; 
</script> 
+0

这是backgroundColor,而不是背景颜色。 – melancia

+0

是啊它没有工作 – meda

+0

我编辑了我的答案plz试试 – Kiranramchandran

1

变量elements未定义。 你想制作类似的东西吗? :

function BlockInput() { 
     var elements = document.getElementsByTagName('input'); 
     for (var i = 0; i < elements.length; i++) { 
      elements[i].readOnly = true; // works 
      elements[i].style.color = "#000000";// does not work! 
     } 
    } 

Fiddle

+0

您的答案非常接近,TagName需要大写,但我会给你upvote – meda

0

随着你设置文本颜色为黑色的配色风格。如果你想改变textarea的背景颜色,试试这个:

elements[i].style.backgroundColor = "#000000"; 
+0

这就是问题 – meda