[ era1 @ 02.08.2006. 11:01 ] @
Imam txtBox na strani i pokusavam da napravim da maksimalan unos bude ogranicen na 200 karaktera. Kada u MaxLenght karakteristiku kontrole txtBox unesem 200 nista se ne desava, ponovo mogu da unosim do besvesti? U pitanju je txtbox kontrola na aspx strani. kako da ogranicim unos na 200 karaktera?

I jos jedno pitanje:

Da li neko moze da mi pomogne i da mi objasni (recimo prakticnim primerom) kada treba koristiti serverske a kada klijentske kontrole web formi?

Pozdrav svima!
[ CallMeSaMaster @ 02.08.2006. 11:03 ] @
Jesi li pokusao ovo?

<asp:TextBox ID="Actionadd" runat="server" TextMode="SingleLine" MaxLength="100" Width=180 />
[ jablan @ 02.08.2006. 11:13 ] @
Citat:
era1: Da li neko moze da mi pomogne i da mi objasni (recimo prakticnim primerom) kada treba koristiti serverske a kada klijentske kontrole web formi?

Uprošćeno: kad ti vrednost kontrole treba u postbacku, onda serverska, kad ne - klijentska.
[ era1 @ 02.08.2006. 11:54 ] @
Nisam pokusao, probacu. Nadam se da to radi i u MultiLine-u.

Hvala i za odgovor u vezi kontrola, tako sam i pretpostavljao. Pretpostavljam da se klijentske kontrole prave kao i serverske s tim sto izostavljam onaj deo: "runat=server"
[ jablan @ 02.08.2006. 12:05 ] @
Citat:
era1: Pretpostavljam da se klijentske kontrole prave kao i serverske s tim sto izostavljam onaj deo: "runat=server"

Tako je, s tim što se to ne odnosi na ASP kontrole, već samo na standardne HTML elemente. Mislim, ako staviš asp:TextBox tag bez runat=server, isti takav će biti poslat brauzeru, koji neće znati šta će s njim.
[ rebelian @ 02.08.2006. 18:09 ] @
Postoji "okolno" resenje i za multiline textbox, a problem nastaje iz razloga sto se multiline textbox na klijentu renderuje kao TextArea, a ne kao Input type=text. E dakle da bi dodao funcionalnost MaxLegth na TextArea (multi line text box) predlazem sledece:

1. Na serveru "uhvatiti" kontrolu ili instancirati novu i dodati je kasnije na stranu kodom:

Code:

Dim intLegth as Integer = 200
Dim txt As New TextBox
txt.TextMode = TextBoxMode.MultiLine
txt.Attributes.Add("onkeypress", "doKeypress(this);")
txt.Attributes.Add("onbeforepaste", "doBeforePaste(this);")
txt.Attributes.Add("onpaste", "doPaste(this);")
txt.Attributes.Add("maxLength", intLegth)
txt.Attributes.Add("onselect", txtOf.ClientID & ".focus();if(document.selection.createRange().text==" & txtOf.ClientID & ".value){" & txtOf.ClientID & ".focus()}")



2. A u klijentskom delu ukljuciti sledeci kod ili ga dodati sa serverske strane uz pomoc ClientScript.RegisterClientScriptBlock metoda:

Code:

// Keep user from entering more than maxLength characters
function doKeypress(control){
    maxLength = control.attributes["maxLength"].value;
    value = control.value;
     if(maxLength && value.length > maxLength-1){
          event.returnValue = false;
          maxLength = parseInt(maxLength);
     }
}
// Cancel default behavior
function doBeforePaste(control){
    maxLength = control.attributes["maxLength"].value;
     if(maxLength)
     {
          event.returnValue = false;
     }
}
// Cancel default behavior and create a new paste routine
function doPaste(control){
    maxLength = control.attributes["maxLength"].value;
    value = control.value;
     if(maxLength){
          event.returnValue = false;
          maxLength = parseInt(maxLength);
          var oTR = control.document.selection.createRange();
          var iInsertLength = maxLength - value.length + oTR.text.length;
          var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
          oTR.text = sData;
     }
}


Hmm, ovaj handling za paste je malo zbunjujuc i nisam ga detaljno testirao, ali bi trebalo da radi.
Nadam se da ce biti od pomoci. Cheers !
[ era1 @ 02.08.2006. 18:15 ] @
Ponovo ne radi ogranicenje od 200 karaktera!!!

Kada sam podesio MaxLength na 200 nista se nije dogodilo, ali sam primetio da kada podesim da txtBox bude SingleLine tada reaguje na Maxlength podesavanje. U suprotnom, kada je txtBox podesen na MultiLine, podesavanje MaxLength ne radi!

Ovo je trivijalna stvar i nikako ne kontam zasto mi pravi problem. Da li je jos neko imao slicnih problema? Ponavljam da je u pitanju web forma, jer u slucaju windows forme sve funkcionise OK.

pozdrav svima!
[ era1 @ 02.08.2006. 18:19 ] @
E nisam video ovaj detaljan odgovor kada sam pisao prethodnu poruku. Sad cu da probam, pa cu da javim sta sam uradio. U svakom slucaju hvala na trudu REBELIAN !

Hm.... nikako ne razumem cemu tolike komplikacije oko sitnice :((
ali sta je tu je...

pozdrav svima!!!
[ Count Zero @ 02.08.2006. 22:00 ] @
Pogledaj ovde
[ era1 @ 03.08.2006. 09:43 ] @
EVO RESEEENJAAAA!! ;))

Pa naravno, kako se nisam setio, VALIDATOR! A iskoristio sam gomilu validatora za neke druge stvari ;))

Hvala puno Count Zero !

Hvala i ostalima koji su se potrudili da pomognu!

Pozdrav svima!!