14. april 2008 - 17:36Der er
13 kommentarer og 1 løsning
Form og javascript
Hej
Jeg har en textbox som der max må være 160 tegn i, for at holde styr på hvor mange tegn man har skrevet har jeg en anden textbox der tæller ned fra 160 hver gang man taster. Dette skulle så ske via javascript, men det virker ikke helt:
Først javascriptet:
function textCounter(field,cntfield,maxlimit) { if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit); else cntfield.value = maxlimit - field.value.length; }
Hvis du kigger i den html kode som bliver genereret og sendt til browseren hedder felterne ikke længere smsMsg eller charLeft men noget i stil af "ctl00_smsMsg" og "ctl00_charleft". Det er noget som asp.net gør for at sikre alle controls har et unik id. (dette sker kun ved asp.net controls, alle html elementer du skrive uden runat="server" bliver ikke "ændret" på denne måde, f.eks. <span id="blahblah"><span>, men de kan heller ikke tilgås fra codebehind.
Du kan tilgå en controls korrekte id via ClientID som er en property alle controls har.
Det skulle gerne resulterer i noget html som ser ud som følgende <asp:TextBox ID="smsMsg" runat="server" Columns="40" maxLength="160" TextMode="MultiLine" Rows="5" onKeyDown="textCounter(this, document.getElementById('ctl00_charLeft'), 125)" onKeyUp="textCounter(this, document.getElementById('ctl00_charLeft'), 125)"> </asp:TextBox>
Du kan bruge "this" som en reference til textboxen selv så længe det foregår inde i dens egne attributer.
Noget helt andet er: Jeg kan sådan set godt forstå du vil have en tæller på som viser hvor mange tegn der er tilbage. Men hvorfor ikke sætte MaxLength til 125 også, og lade den håndhæve grænsen.
Når jeg indsætter den imellem <script runat="server"> og </script> kommer der fejl: CS1519: Invalid token '(' in class, struct, or interface member declaration
hmm den virker ellers som en value, altså viser værdien 125 i tekstboksen, men måske skulle jeg bruge text istedet for?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.