2011-08-30 116 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