Zeichenzähler mit dynamischem DIV Bereich

Shrek

Mitglied
Tach zusammen. Also ich habe ein Zeichezähler für ein Gästebuch geschrieben. Hier erstmal der funktionierende Quelltext.
Code:
<html>
<head>
  <title></title>
<script language="JavaScript" type="text/javascript">
<!--
function zeichenzaehler(obj,max)
{
document.getElementById( 'text' ).innerHTML=obj.value.length + "/" + max + "Zeichen";
}
//-->
</script>
  </head>
<body>

<?php

echo '<form action="myscript.php" method=post>';
echo '<table border=1 width=500>';
echo '<tr><td>Name:</td><td><input type=text onkeyup="zeichenzaehler(this,30)" onchange="zeichenzaehler(this,30)" name=name ></td><td><div id=text>0/30 Zeichen</div></td></tr>';
echo '<tr><td>Topic:</td><td><input type=text name=betreff></td><td>max. 30 Zeichen</td></tr>';
echo '<tr><td>Inhalt:</td><td><textarea name=inhalt cols=50 rows=10></textarea></td><td>max. 5000 Zeichen</td></tr>';
echo '<tr><td><input type=submit value=eintragen></td><td><input type=reset value=löschen></td></tr>';
echo '</form>';

?>
</body>
</html>

So mein problem ist jetzt das ich ja immer nur in den div bereich mit der id text Schreiben kann. Für die nächsten beiden Eingabefelder möchte ich auch so einen Zähler haben. Und den dann in die Felder daneben schreiben. diese heißen dann natürlich text 1 usw. Jetzt wollte ich fragen wie ich diese Zuweisung dynamisch mache. Ich könnte zwar auch eine switch case oder mehrere if bedingungen ins javascript schreiben aber das ist dann nur gefusche.

Also mein ansatz siehts so aus.

Das input feld:
Code:
<input type=text onkeyup="zeichenzaehler(this,30,\'text\')" onchange="zeichenzaehler(this,30,\'text\')" name=name >

So dann musste die Zeile im Javascript so lauten.
Code:
function zeichenzaehler(obj,max,text)
{
document.getElementById( + text + ).innerHTML=obj.value.length + "/" + max + "Zeichen";
}

klappt aber leider nicht. Hoffe ihr könnt mir Helfen
 
Naja, vom prinzip her hast du vollkommen recht. Versuch einfach mal
Code:
function zeichenzaehler(obj,max,text)
{
document.getElementById(text).innerHTML=obj.value.length + "/" + max + "Zeichen";
}
also ohne die + vor der Variablen
 

Neue Beiträge

Zurück