2015-10-18 126 views
0

我已經嘗試了一些我已經看到的解決方案,而且它們中沒有一個實際上正在更改我的文本框的背景顏色。這是兩件事情我已經嘗試
1)state.style.backgroundColor = "#FF0000"

2)state.style.backgroundColor = "red";

使用JavaScript更改文本框背景顏色使用JavaScript

這是我想使用

<script type="text/javascript"> 
function VerifyStateWasEntered() { 
    var state; 
    state = document.getElementByID("txtstate").value; 
    if (state == '') { 
     alert("Error Please Enter A Valid State"); 
     state.style.backgroundColor = "red"; 
     return false; 
    }}  



的功能與此是我用來創建文本框的HTML

<asp:TextBox id="txtstate" runat="server" /> 
+0

由於您使用asp控件,您可能會遇到.NET生成id的問題。在這種情況下,你會得到一個控制嵌套的組合(「MainContent_Login1_LoginPanel」說)。檢查Page指令中的ClientIDMode設置,並將該值設置爲「static」以避免這種情況。 – faester

回答

1

你能試試嗎?將狀態分配給值時,無法從值中獲取樣式對象。

<script type="text/javascript"> 
function VerifyStateWasEntered() { 
    var stateObj; 

    stateObj = document.getElementByID("txtstate"); 
    if (stateObj) { 
     var stateValue = stateObj.value; 

     if (stateValue == '') { 
     alert("Error Please Enter A Valid State"); 
     stateObj.style.backgroundColor = "red"; 
     return false; 
     }} 
    } 
</script> 

<asp:TextBox id="txtstate" runat="server" ClientIDMode="Static" /> 
+0

一旦我將語法改爲'stateObj = document.getElementById(「txtstate」); - 它按需要工作。 – MustangLover

0

你正在嘗試的是可能的,但我懷疑你使用了錯誤的ID(根據我的評論)。要設置元素的顏色,您可以使用下面的JavaScript。

document.getElementById("txtstate").style.background = "red" 

但是你需要確保你在頁面上有ClientIdMode="static"

+0

我已經設置了ClientIDMode =「static」並嘗試了您的語法,並且警報顯示但文本框顏色不會更改。 – MustangLover

0

我知道您正在嘗試使用Javascript製作背景顏色,但是您可以使用CSS來實現這一點,並且會更容易。

例子:

<asp:TextBox id="txtstate" runat="server" /> 
<style type="text/css"> 
#txtstate { 
background-color: /* the color you want */ ; 
} 

如果仍然不行,請嘗試從<style type="text/css">刪除收盤/。祝你好運!

相關問題