データベースからデータを取得して、テキストエリアに表示しています。javascriptをカウントダウンする文字があります。textarea(s)は、データベース/テーブルのエントリごとに繰り返されています。
<SCRIPT type="text/javascript">
<!-- Begin
function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}
// End -->
</script>
これがphpです:
echo "<b>$ID : $adname</b><br /><a href=\"?action=deletead&IDnum=$ID\">Delete Ad</a><br /><br />\n";
echo "Preview :<br /><div class=\"adcode\">$adcode</div><br /> \n";
echo "<br />\n";
echo "<form action=\"displayads.php\" name=\"addAD$ID\" method=\"post\">\n";
echo "AD code (can be any type of script) text link, javascript or banner :<br />\n";
echo "Code :<br /><textarea name=\"adcode$ID\" wrap=\"physical\" cols=\"60\" rows=\"5\" onKeyDown=\"textCounter(document.addAD$ID.adcode$ID,document.addAD$ID.remLen$ID,5000)\" onKeyUp=\"textCounter(document.addAD$ID.adcode$ID,document.addAD$ID.remLen$ID,5000)\">$adcode</textarea>";
echo "<br /><input readonly type=\"text\" name=\"remLen$ID\" size=\"3\" maxlength=\"3\" value=\"5000\">Characters Left \n";
echo "<input type=\"submit\" name=\"editad$ID\" value=\"Edit AD Code\"></form>\n";
echo "<br /><hr />";
問題は、onloadページのロードイベントを実行して、一意の名前textarea name = \ "adcode $ID\"を持つすべてのtextareaに正しい文字数のonloadを反映させるにはどうすればよいかということです。代わりに、テキストエリアの情報を変更した場合にのみ適切な量が反映されるようになりました。