also, ich habe versucht das jetzt folgendermaßen mit JavaScript zu lösen:
<script type="text/javascript" >
function checkLength(about){
if (about.value.length>2000) {
about.value = about.value.substring(0,2000)
}
}
</script>
<tr>
<td>About You:</td>
<td id="print_about"><c:out value="${model.about}"/></td>
<td><textarea name="about" cols="70" rows="15" id="input_about" onkeyup="return checkLength(this)" onkeypress="return checkLength(this)" style="display:none">${model.about}</textarea></td>
</tr>
Leider habe ich dabei folgendes Problem:
Der Text wird in eine Datenbank gespeichert. Die erlaubt für die Spalte About nur 2000 Zeichen.
Die Begrenzung des Textareas liegt zwar bei 2000, aber: wenn man ganz viele Leerzeilen oder Leerzeichen angibt, dann werden die beim Textareafeld nicht mitgezählt. In die Datenbank werden sie aber trotzdem gespeichert. Das heißt, wenn eine Person einen Text mit 2000 Zeichen und dazwischen mit 5 Leerzeilen schreibt, dann kann dieser Text nicht in die Datenbank gespeichert werden.
Auch stört mich, dass, wenn ein Text mit Leerzeilen geschrieben wird, dieser bei der Ausgabe nicht dementsprechend wiedergegeben wird, sondern komplett als Block. Ausgabe erfolgt ganz simpel mit:
About: <c:out value="${model.about}"/><br/>
Wäre dankbar, wenn mir jemand für meine Probleme eine Hilfestellung geben könnte. Danke.