abbi pazienza, ma ad un collega di aspx, bisogna dare di più
Questo è un esempio. I due metodi in overload ValutaLunghezza server vanno messi in una libreria esterna. E anche la funzione client javascript valutaLunghezza, va messa in una libreria esterna.
codice:
<%@ Page Language="VB" %>
<%@ Import Namespace="l=libreria.ModuloWeb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub TextBox1_Init(ByVal sender As Object, ByVal e As System.EventArgs)
ValutaLunghezza(sender, 5) 'max 5 caratteri
End Sub
'-------------------------------------------------------------------------------
'limita la lunghezza del testo che si può immettere in un <textarea
'-------------------------------------------------------------------------------
Public Sub ValutaLunghezza(ByVal t As TextBox, ByVal Lunghezza%)
t.Attributes.Add("onfocus", String.Format("valutaLunghezza(this,{0});", Lunghezza))
t.Attributes.Add("onkeyup", String.Format("valutaLunghezza(this,{0});", Lunghezza))
End Sub
Public Sub ValutaLunghezza(ByVal t As Object, ByVal Lunghezza%)
If TypeOf t Is TextBox Then
Dim t1 As TextBox = DirectCast(t, TextBox)
ValutaLunghezza(t1, Lunghezza)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Pagina senza titolo</title>
<script language="javascript" type="text/javascript">
// <!CDATA[
//-------------------------------------------------------------
//se nel controllo Target1, si immettono piu di max caratteri,
//vengono tagliati i caratteri extra e viene mostrato un messaggio
//di alert
//-------------------------------------------------------------
function valutaLunghezza(Target1,max)
{
var StrLen1 = Target1.value.length;
if (StrLen1 > max )
{
Target1.value = Target1.value.substring(0, max);
window.alert("Ci sono " + (StrLen1 - max) + " carattere/i oltre i " + max + " consentiti.\n\nI caratteri in eccesso sono stati eliminati.");
}
}
// ]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" Height="180px" TextMode="MultiLine" Width="256px" OnInit="TextBox1_Init"></asp:TextBox>
</form>
</body>
</html>