28. maj 2003 - 12:06Der er
20 kommentarer og 1 løsning
Anslags tælning i javascript
Jeg har brug for at kunne tælle en tekststrengs antal anslag og finde ud af om der i tekststrengen er nogle ord der er for lange!
Jeg har nemlig ikke så meget plads til at skrive tekststrengene ud på i min mini tagwall og hvis ordene bliver for lange vil de fucke op i tabellerne. Jeg skal derfor kunne styre hvor meget brugeren må indtaste i tekstfeltet og sørge for at lange ord bliver splittet op.
Jeg er bange for at jeg ikke kan finde ud af at gøre det der, jeg er stadig ret ny i faget :) Lærer lige så langsomt!
Men som du kan se på siden ved linket ovenover ligger problemet ovre til højre i "mini tavlen". Som man kan se er der ikke plads til alle de lange ord vi har i ordbogen. Der er heller ikke plads nedefter til at hver bruger kan skrive mere end 100 anslag. Jeg skal jo derfor have stoppet de to ting. Jeg vil meget gerne have nogle eksempler da jeg endnu ikke kan opfinde den slags selv! :D
Nu har du lavet det i VB script selvfølgelig. men jeg prøver lige at omskrive det til javascript :) Jeg er ikke sikker på browsere kan lide at jeg blander det!
bombur> Koder du i din ASP i JavaScript? For du kan jo ikke lave det clientsided det du ønsker, eller jov, det skulle nok være muligt, men det er ikke en særlig god ide!
medievil> Med linjen: If Len(arrTxt(i)) > 5 Then Tjekker jeg hvor mange bogstaver det enkelte ord består af, hvis det er over 5 bogstaver så ->!
Ja jeg koder min ASP i javascript. Skulle jeg nok have skrevet lidt tydeligere, det står kun i overskriften. Men det skal laves serverside idet jeg putter informationerne på tagwallen i min database!
hmm... jeg syntes ikke der sker noget som helst nu ser koden sådan ud <% while(!tagRS.EOF) { navn = tagRS.Fields("navn"); strTxt = tagRS.Fields("tekst");
For i = 0 To UBound(arrTxt) If Len(arrTxt(i)) > 5 Then strErr = "Beskeden er for lang!" Else strTxt = strTxt & " " & arr(i) End If Next
If strErr <> "" Then strTxt = strErr End If
</script>
Jeg blev nødt til at slette det ene next, fordi browseren sagde at den var unexpected og ikke ville køre scriptet hvis den var der. Ved ikke om det har noget med det at gøre. Men som du kan se på siden nu sker der ikke noget! Jeg har i øvrigt kun taget starten af min while løkke med og længere nede skriver jeg "strTxt" ud som jeg plejer, og den skriver den jo også ud kan man se!
Det skal kodes i ASP med javascript ja :) Hvis et ord er for langt skal den automatisk dele det op i 2 eller flere dele... det er ligemeget hvor ordene bliver delt. Det er kun for at sikre designet hvis en nød skulle begynde at skrive nogle lange ord.
Hvis du også vil sige mig hvordan jeg generelt tæller hvor mange anslag der er i en tekststreng ville jeg være glad, for jeg skal på en eller anden måde sikre at der kun bliver indtastet 100 anslag i alt! Det er så mest fordi folk jo ikke skal skrive hele deres livshistorie, lissom jeg har gang i her.
Jeg forstår ikke rigtigt. Det virker fint når jeg bare bruger det kode du har lagt her. Men lige så snart jeg bytter din str = "Hej med dig max ordlængde eer 12345678901234567890 test."; ud med str = tagRS.Fields("tekst"); Som er sådan jeg fangede min tekststreng før, kommer der ikke noget ud af det!? Jeg har puttet din kode på siden og som man kan se skriver den ikke noget som helst ud!
Nåh... ja ok... jeg fandt faktisk ud af det før jeg så du havde skrevet det her... men nu er der points til dig!
Mange tak for hjælpen! :)
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.