maxlength in texfield

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

JvG G

JvG G

01/04/2006 19:22:00
Quote Anchor link
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?
 
PHP hulp

PHP hulp

22/12/2024 09:12:18
 
B a s
Beheerder

B a s

01/04/2006 19:25:00
Quote Anchor link
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.
 

01/04/2006 19:26:00
Quote Anchor link
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>
 
Willem Jan Z

Willem Jan Z

01/04/2006 19:26:00
Quote Anchor link
Als je het met javascript doet, sowieso een PHP check erachteraan.
 
PHP Newbie

PHP Newbie

01/04/2006 19:26:00
Quote Anchor link
<textfield maxlength="10">of werkt dat niet
 
JvG G

JvG G

01/04/2006 19:28:00
Quote Anchor link
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...
 
JvG G

JvG G

01/04/2006 19:36:00
Quote Anchor link
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();"
Gewijzigd op 01/04/2006 19:37:00 door JvG G
 
Willem Jan Z

Willem Jan Z

01/04/2006 19:37:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


Niet getest, dus gebruik op eigen risico :)
Gewijzigd op 01/04/2006 19:38:00 door Willem Jan Z
 
JvG G

JvG G

01/04/2006 19:45:00
Quote Anchor link
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. :)
 

01/04/2006 19:48:00
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>
Gewijzigd op 01/04/2006 19:49:00 door
 
Willem Jan Z

Willem Jan Z

01/04/2006 19:51:00
Quote Anchor link
Kan je dan niet beter op keydown doen? Zodat de letter er niet bij komt als hij teveel is?
 
JvG G

JvG G

01/04/2006 19:53:00
Quote Anchor link
thx, dat werkt veel beter. Nu veranderd hij gewoon de laatste letter als je doortypt :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.