2011-08-30 131 views
0

以下代码适用于使用document.write。如何在Label1中显示值exceeded以及如果超出值,如何将TextBox的背景颜色更改为红色(使用JavaScript)。使用JavaScript进行验证

<script type="text/javascript"> 

    function limitlength(obj, length) { 
     var maxlength = length 
     if (obj.value.length > maxlength) 
     document.write("Exceeded")  } 

</script> 

Enter text (max length is 5 characters): 
<form id="form1" runat="server"> 
<asp:textbox ID="TextBox1" onkeypress="return limitlength(this, 5)" runat="server"></asp:textbox> 
<br /> 
<br /> 
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</form> 
+1

这里没有问题。 –

+2

这显然是作业 – isJustMe

+0

@詹姆斯 - 你看过吗?首先完整阅读。 – Mal

回答

2

你需要一个ID添加到文本框。

function limitlength(obj, length) { 
    var maxlength = length 
    if (obj.value.length > maxlength) { 
     document.getElementById("Label1").innerHTML = "Exceeded"; 
     document.getElementById("TextboxID").style.backgroundColor = "red"; 
    } 
} 
+0

这个工作,但backgrondcolor从第一个'keypress'变为红色 – Mal

1

首先,我要靓起来的JavaScript:

function limitlength(obj, length) { 
    var maxlength = length; 
    if (obj.value.length > maxlength) 
    document.write("Exceeded"); 
} 

其次,由于您使用的是.NET,你将需要使用ClientID属性上的文本框控件。并请为其分配一个ID。例如,txtBox。

第三,你可以改变背景颜色这样的:

function limitlength(obj, length) { 
    var maxlength = length; 
    if (obj.value.length > maxlength) { 
    document.getElementById("<%=Label1.ClientID%>").innerHTML = "Exceeded"; 
    document.getElementById("<%=txtBox.ClientID %>").style.backgroundColor = "red"; 
    } 
} 
+0

我无法理解代码。如何将TextBox1的背景颜色更改为红色? – Mal