私は自分のページでこの JavaScript コードを使用し、w3c バリデーターに対してチェックしました。次の2つのエラーが発生しました。
- 属性「onKeyDown」はありません
- 属性「onKeyUp」はありません
html 宣言タイプを遷移型に変更しません。そのため、スクリプトを変更する必要があります。
スクリプト HTML
<textarea id="message" cols="20" rows="5" name="message" onKeyDown="textCounter('message','messagecount',100);" onKeyUp="textCounter('message','messagecount',100);"></textarea>
<span id="charsleft"></span>
スクリプト Javascript:
<script>
function textCounter(textarea, countdown, maxlimit) {
var textareaid = document.getElementById(textarea);
if (textareaid.value.length > maxlimit)
textareaid.value = textareaid.value.substring(0, maxlimit);
else
document.getElementById('charsleft').innerHTML = '('+(maxlimit-textareaid.value.length)+' characters available)';
}
</script>
<script type="text/javascript">
textCounter('message','messagecount',100);
</script>
私は JavaScript について何も知らないので、親切に質問します。私のページが XHTML 1 で厳密に検証されるようにするには、どのような変更を加える必要がありますか? それとも、XHTML 1.0 Strict で検証され、同じことを行う別のスクリプトを探す必要がありますか?
注: とりあえずスクリプトはこのように動作します: テキストエリアに書き込むと、2 つのスパンの間の部分が<span id="charsleft"></span>
表示され、残りの文字数がリアルタイムで書き込まれます。スタイルの見せ方は私にとって重要ではありません。たとえば、最初の値 (文字数の制限) は常に表示できます。唯一のポイントは、W3C の検証です。
ありがとう、BR