我已经尝试了一些我见过的解决方案,但实际上没有一个改变我文本框的背景颜色。这些是我尝试过的两件事
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" />
答案 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">
。祝你好运!