Hallo,
ik heb een formulier om een reactie te geven op een nieuwsbericht. werkt allemaal prima. Maar nou wil ik de invoer via het tekstvak beperken net zoals je bij <input type="text" maxlength="10"> doet maar ik wil gebruik maken van een <textfield> omdat dat mooier is. weet iemand hoe ik de maximale lengte van het tekstveld kan instellen?
Dat kun je het beste doen via JavaScript, niet mijn sterkste punt.. Zoek ff op Google naar Maxlenght textfield javascript..

Wat je ook kunt doen (als je het in een db opslaat) is ipv TEXT attribute VARCHAR te gebruiken met een lengte van 10.
Het is toch <textarea>?

Maar in ieder geval is dit niet de manier om dit soort dingen te beïnvloeden, ik denk dat je beter gewoon in het PHP verwerkings script kunt controleren.

Probeer anders eens maxlenght in een <textarea>
Als je het met javascript doet, sowieso een PHP check erachteraan.
<textfield maxlength="10">of werkt dat niet
Ja, met php krijg ik wel de lengte eruit die ik wil hebben. en met VARCHAR(lengte) ook wel. Alleen ik wil dat als je in het vakje je reactie typt dat hij stopt als je karakters "op" zijn zeg maar. Ik zoek even verder :) thx iig voor de reacties...
Ik heb in ieder geval een validatie functie gevonden met javascript.
voor de geinteresseerden:

[.script.] <script language="javascript" type="text/javascript">
<!--
function validate() {
maxlength=50;
if(document.form.bericht.value.length>=maxlength) {
alert('Maximale textlengte 50 karakters');
document.form.bericht.focus();
return false;
} else {
return true;
}
}
//-->
</script>[./script.]

en dan zet je in je formulier:

onsubmit="return validate();"

<html>
<head>
<script type="text/javascript">
function TestLenght(div) {

if(document.getElementById(div).value.lenght > 10)
{
alert('Geen tekens meer over');
return false;
}
return true;
}
</script>
</head>
<body>
<textarea id="text" onchange="TestLenght('text');"></textarea>
</body>
</html>


Niet getest, dus gebruik op eigen risico :)
Thx voor het script, werkt goed. Alleen wat ik wil is dat je niks meer kan invoeren in het tekstvak zodra de maximale lengt is bereikt.
Ik heb een script gevonden op http://www.dynamicdrive.com/dynamicindex16/maxlength.htm

Als je dan doortypt dan wist hij vervolgens het karakter wat je teveel typt. :)
Je kan beter de textarea in een form zetten en dan benaderen via

document.formnaam.text.value

Voorbeeld op basis van die van Willem-Jan
<html>
<head>
<script type="text/javascript">
function TestLenght(div) {

if(document.reacties.elements[div].value.lenght > 10)
{
return false;
}
return true;
}
</script>
</head>
<body>
<form name="reacties">
<textarea id="text" onkeyup="return TestLenght('text');"></textarea></form>
</body>
</html>
Kan je dan niet beter op keydown doen? Zodat de letter er niet bij komt als hij teveel is?

Reageren