Seite 1 von 1
Noch verfügbare zeichen eines Textfeldes anzeigen
Verfasst: 27.08.2006 10:07
von Skippy
zuerstmal die betreffende stellende in der tpl datei
Code: Alles auswählen
<td class="row2" align="center">
<textarea cols="30" rows="15" wrap="OFF" maxlength="{MAXLENGTH}" class="textarea" name="comento" accesskey="x" tabindex="3" title="{FIELD_COMENTO_TITLE}">{FIELD_COMENTO}</textarea>
</td>
Im übrigen ist das aus dem Criccas Guestbook wo ich an einer neuen Version arbeite
ich würde gern darunter ne anzeige haben so in der Art
"noch 20 Zeichen übrig"
hoffe ihr Wisst was ich meine und wie das Realisiert wird
Verfasst: 27.08.2006 10:42
von MagMo
Hi,
dazu musst du ein Formular nach diesem Schema erstellen:
<form action="...URL..." name="FormularName" method="POST">
...
<input type="text" id="FeldID" name="FeldName" size="50" value=""><br />
<script language="javascript" type="text/javascript">
document.write('Verfügbare Zeichen:');
displaylength("document.FormularName.FeldID", VerfuegbareZeichen);
...
</form>
Wobei du
VerfuegbareZeichen durch die Anzahl der verfügbaren Zeichen ersetzen musst. Bsp.:
displaylength("document.FormularName.FeldID", 100);
Im header der Seite fügst du dann noch dieses Script ein:
<script language="JavaScript" type="text/javascript">
<!--
function restrictinput(maxlength,e,placeholder)
{
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength)
{
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}
function countlimit(maxlength,e,placeholder)
{
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder))
{
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}
function displaylimit(theform,thelimit)
{
var limit_text='<span id="'+theform.toString()+'">'+thelimit+'</span>'
if (document.all||ns6)
document.write(limit_text)
if (document.all)
{
eval(theform).onkeypress=function() { return restrictinput(thelimit,event,theform) }
eval(theform).onkeyup=function() { countlimit(thelimit,event,theform) }
}
else if (ns6)
{
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
}
}
// -->
</script>
Grüße
MagMo
Verfasst: 27.08.2006 10:51
von Skippy
danke
denn werd ich mir das später mal vornehmen da es garantiert Probleme gibt bei der Umstellung von textarea auf input type text
Verfasst: 27.08.2006 12:06
von MagMo
Hi,
das mit der textarea habe ich doch glatt übersehen.

Das kommt davon, wenn man den Text nur überfliegt.
Skippy hat geschrieben:es garantiert Probleme gibt bei der Umstellung von textarea auf input type text
Eigentlich sollte es da keine Probleme geben. Ich verwende ein ähnliches Skript sowohl für input-Felder als auch für Textareas (lediglich die Zeichenberechnung ist anders - nicht die noch verfügbaren, sondern die schon verwendeten Zeichen werden bei dem von mir verwendeten Skript angezeigt).
Grüße
MagMo
Verfasst: 27.08.2006 12:57
von thoha