Zeichen zählen

limk

Mitglied
Hallo,

ich hab da so ein problem.
Ich habe in einem PHP-Script ein textfeld (textarea), in das nur 100 zeichen eingegeben werden sollen.
Das lösst man ja sicher am einfachsten mit javascript. (onkeyup checklänge()) und dann im head der HTML seite die function. Da ich den header, den ich in der PHP datei nur include nicht verändern kann hab ich die Frage, ob es andere gute mögichkeiten gibt, den user darauf hinzuweisen, wieviele zeichen er noch hat und wann schluss ist. (ähnlich wie bei sms sendern).
 
ich weiß das es mit javascript geht.
Will aber eine andere Lösung, da in meinem script der javascript nicht funktioniert.!
Also geht es auch ohne javascript oder irgendwie anders
 
Soweit ich weiss, muss JavaScript nicht unbedingt im Head der HTML-Seite definiert werden. Außer JavaScript gibt es keine Möglichkeit permanent die noch zur Verfügung stehende Zeichenanzahl auszugeben. Du kannst nur PHP-seitig die Länge des Textes prüfen, wenn das Formular abgesendet wurde.

snuu
 
Was soll ich dazu sagen. :rolleyes:

NEIN :(

Es geht soweit ich weiß nur mit JavaScript

Gruß Mirko

EDIT : SNUU war ma wieder schneller ;-)
 
Hm, ob man den User direkt hinweisen musss, wie viele Zeichen er noch hat? Ich würde daraus einfach ein input-Feld machen welche ungefähr die Breite für 100 Zeichen hat (sofern möglich) und außerdem natürlich MAXLENGHT reinschreiben!

Anderweitig kannste es nur serverseitig nachkontrollieren mit den guten String-Funktionen - in diesem Fall "strlen".
 
d.h. ich komme um Javascript nicht herum, wenn ich die Eingabe direkt kontrolieren will (während der user eingibt)? :( :(

Die abfrage mit strlen() mach ich hinterher sowiso noch. Aber für die Bedienung ist es ja schön, gleich darauf hingewiesen zu werden, oder wie bei input Feldern per maxlength einfach nicht mehr zuzulassen. Aber das geht meines wissen nach bei textarea nicht oder :(
 
na toll hat dann einer evtl. eine ahnung warum mein script nicht geht.

ich include header.php, in der das hier steht:

PHP:
echo "<title>$sitename $pagetitle</title>\n";?>
    
    <script type="text/javascript">
<!--
function checkLen()
{
maxLen=100;
var txt=document.forms[0].benutzereingabe.value;
if(txt.length>maxLen)
    {
      alert("Bitte maximal "+maxLen+" Zeichen eingeben!");
      document.forms[0].benutzereingabe.value=txt.substring(0,maxLen);
      document.forms[0].zaehler.value=0;
    }
else
    {
    document.forms[0].zaehler.value=maxLen-txt.length;
    }
}

//-->
</script>

und dann hab ich in der datei folgendes:

PHP:
<form>
verbleibende Zeichen:
<input type="text"name="zaehler"value="100"size="3"><br>
<textarea rows="5"cols="50"name="benutzereingabe"onkeyup="checkLen()"></textarea>
</form>

das funktioniert aber leider nicht. (Nur, wenn ich den head krams mit in die datei schreibe)
Liegt das am include oder wie?
 
Du brauchst doch gar keine Funktion dafuer!

Code:
<form name="Formular">
  <textarea onkeypress="if (this.value.length == 100) { window.alert('Bitte nur 100 Zeichen eingeben.'); return false; } else { window.document.forms['Formular'].elements['Anzeige'].value = 100 - this.value.length; }"></textarea>
  <br />
  Verbleibende Zeichen: <input type="text" size="3" disabled="disabled" value="100" name="Anzeige" />
</form>
Dann ist die Zeile zwar etwas länger, aber nun brauchst du nichts mehr im Head
verändern ;)
 
Zuletzt bearbeitet von einem Moderator:
Zurück