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

时间:2015-10-18 20:34:23

标签: javascript html asp.net

我已经尝试了一些我见过的解决方案,但实际上没有一个改变我文本框的背景颜色。这些是我尝试过的两件事 1)state.style.backgroundColor = "#FF0000"

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

这是我尝试使用的功能

<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" />

3 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:0)

您尝试的是可能的,但我怀疑您使用了错误的ID(根据我的评论)。要设置元素的颜色,您可以使用下面的JavaScript。

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

但您需要确保页面上有ClientIdMode="static"

答案 2 :(得分:0)

我知道你正在尝试使用Javascript制作背景颜色,但你可以使用CSS来做到这一点,它会更容易。

示例:

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

如果仍然不起作用,请尝试从/删除结束<style type="text/css">。祝你好运!