maxlength in texfield
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?
Wat je ook kunt doen (als je het in een db opslaat) is ipv TEXT attribute VARCHAR te gebruiken met een lengte van 10.
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...
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();"
Gewijzigd op 01/04/2006 19:37:00 door JvG G
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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>
<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 :)
Gewijzigd op 01/04/2006 19:38:00 door Willem Jan Z
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. :)
document.formnaam.text.value
Voorbeeld op basis van die van Willem-Jan
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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>
<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?
thx, dat werkt veel beter. Nu veranderd hij gewoon de laatste letter als je doortypt :)