Avatar billede tingholm Mester
05. august 2006 - 00:09 Der er 16 kommentarer og
1 løsning

begrænse antal tegn i textboks

Der må højst være 20 tegn i dette felt:

<input type="text" name="bruger">

har set det 1000 steder men kan ikke lige finde noget...
Avatar billede Six Nybegynder
05. august 2006 - 00:13 #1
maxlenght="20" mener jeg :D
Avatar billede Six Nybegynder
05. august 2006 - 00:15 #2
Avatar billede tingholm Mester
05. august 2006 - 00:19 #3
ahhh... min fejl... det er i:

<textarea name="besked">Skriv din besked her</textarea>

det skulle bruges... der holder maxlength vist ikke ??
Avatar billede Six Nybegynder
05. august 2006 - 00:23 #4
Nej det har du ret i ;)

Hvad med sådan noget her:
<script language="javascript" type="text/javascript">
<!--
function imposeMaxLength(Object, MaxLen)
{
  return (Object.value.length <= MaxLen);
}
-->
</script>

Implementation:
<textarea name="myName" onkeypress="return imposeMaxLength(this, 15);" ><textarea>

C/P fra en random side. ;)
Avatar billede mclemens Nybegynder
05. august 2006 - 01:14 #5
((( denne her kunne måske tilretter, men det er sikkert overkill medmindre det i virkeligheden er noget mere avanceret end max længde du har behov for... Altså f.eks. en tekst ud for ens link / nick eller andet - og boxen må så ikke brydes... Dog er det jo kun vejledende da alt javascript kan omgåes ... her er scriptet http://www.eksperten.dk/spm/716410 )))

- Dog er Fjappe's sikkert nok til dit behov - hvis der ikke skal være validering på den grafiske fremvisning af teksten brugeren indskriver når den kommer frem i meddellelsesboxen (f.eks. en lang linje med ene aaaaaaaaa'er eller andet ) ...
Avatar billede mclemens Nybegynder
05. august 2006 - 01:16 #6
M.h.t. til fjappe's kan den omgåes ved at kopiere teksten ind...
Avatar billede mclemens Nybegynder
05. august 2006 - 01:23 #7
Alternativt eksempel:



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type"

content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
var maxob={};

function maxl(o,l){
  if(o.value.length>l)o.value=maxob[o].val;
}

function maxo(o,l){
  if(o.value.length<(l+1))maxob[o]={val:o.value};
}

</script>

</head><body>


Implementation:
<textarea name="myName" onkeypress="maxo(this,15);"

onkeyup="maxl(this,15);"></textarea>
</body></html>
Avatar billede mclemens Nybegynder
05. august 2006 - 01:23 #8
ombrudt :/


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
var maxob={};

function maxl(o,l){
  if(o.value.length>l)o.value=maxob[o].val;
}

function maxo(o,l){
  if(o.value.length<(l+1))maxob[o]={val:o.value};
}

</script>

</head><body>

<textarea name="navn" onkeypress="maxo(this,15);" onkeyup="maxl(this,15);"></textarea>
</body></html>
Avatar billede mclemens Nybegynder
05. august 2006 - 01:27 #9
lidt hurtig lavet validering - den bør være ok ... næsten medmindre man indsætter med musen eller andet så evt. skal det være (højst sandsynligvis=:

<textarea name="navn" onkeypress="maxo(this,15);" onkeyup="maxl(this,15);" onchange="maxl(this,15);"></textarea>

og måske en alert til brugeren også:

function maxl(o,l){
  if(o.value.length>l){
    o.value=maxob[o].val;
    alert("Din tekst var for lang.\nDen må max være på: "+l+" tegn.");
  }
}

(rettelser har jeg ikke lige testet).... men stadig
serverside validering er nødvendig da det let kan omgåes...
Avatar billede chrissus Nybegynder
07. august 2006 - 16:44 #10
Du kan os lave det med en tæller på som det her:

<script type="text/javascript">

function getObject(obj) {
  var theObj;
  if(document.all) {
    if(typeof obj=="string") {
      return document.all(obj);
    } else {
      return obj.style;
    }
  }
  if(document.getElementById) {
    if(typeof obj=="string") {
      return document.getElementById(obj);
    } else {
      return obj.style;
    }
  }
  return null;
}

function Contar(entrada,salida,texto,caracteres) {
  var entradaObj=getObject(entrada);
  var salidaObj=getObject(salida);
  var longitud=caracteres - entradaObj.value.length;
  if(longitud <= 0) {
    longitud=0;
    texto='<span class="disable"> '+texto+' </span>';
    entradaObj.value=entradaObj.value.substr(0,caracteres);
  }
  salidaObj.innerHTML = texto.replace("{CHAR}",longitud);
}

</script>

<form action="test" method="post">
<INPUT TYPE="TEXT" class="text" id="eBann" name="bruger" maxlength="20" size="21" onKeyUp="Contar('eBann','sBann','{CHAR}',20);"><span id="sBann" class="minitext"></span></td>
</form>
Avatar billede tingholm Mester
07. august 2006 - 20:51 #11
mlemens: i din kan man også bare copy/paste ind... der skal du bare kopiere det hele i éen omgang... kan man ikke lave:

<script type="text/javascript">
var maxob={};

function maxl(o,l){
  if(o.value.length>l)o.value=maxob[o].val.subString(0,15);
}

function maxo(o,l){
  if(o.value.length<(l+1))maxob[o]={val:o.value};
}

</script>
Avatar billede tingholm Mester
07. august 2006 - 20:54 #12
man kan godt se jeg er vant til alm java... hvad mon subString() hedder i javascript ??
Avatar billede mclemens Nybegynder
07. august 2006 - 21:10 #13
^ -> substr(0,15) ... Joh, vi kan nok lave det en tand mere simpelt :D


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta

http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function maxl(o,l){
  if(o.value.length>l)o.value=o.value.substr(0,15);
}
</script>

</head><body>

<textarea name="navn" onkeyup="maxl(this,15);" onchange="maxl(this,15);"></textarea>
</body></html>


[ mlemens: i din kan man også bare copy/paste ind... ]
Det tog jeg lidt hensyn til i 05/08-2006
01:27:49 ved at lægge en onchange på også ...
Avatar billede mclemens Nybegynder
07. august 2006 - 21:19 #14
- i den første brugte jeg istedet et object til at holde styr ved
copy / paste med tasturet (ctrl+v) - men jeg udvidede den så med
onchange'n da der joh er så mange måde at kopiere ind på...
Avatar billede tingholm Mester
08. august 2006 - 11:17 #15
ok, tak for hjælpen... smider du et svar mclemens ?
Avatar billede mclemens Nybegynder
08. august 2006 - 12:08 #16
Ok, kommer her :o)
Avatar billede mclemens Nybegynder
10. august 2006 - 09:38 #17
Tak for point :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester