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 :roll:

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. :oops: 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
Oder hier gibts auch so ein Script:

http://www.webmaster-resource.de/tricks ... g-sind.php