フォームにテキストエリアがあります。<p>
入力中、テキストはテキストエリアの文字数と同様に表示されます。問題は、最初の文字が認識されないことです。したがって、最初の文字を入力すると、残りの文字は75のままで、文字は表示されません<p>.
。「abc」と入力すると、「ab」のみが表示され、残りの文字は72ではなく73になります。その後、最後から「c」、次に「abc」が。に表示されます<p>
。それは常に一歩遅れているようなものです。
シンプル<input type="text">
でうまく機能しています。
<textarea name="text" cols="56" rows="2" onKeyDown="drawAd();" onKeyUp="drawAd();" onFocus="drawAd();" maxlength="75" >
<?php echo $text?>
</textarea>
function drawAd()
{
var draw_adtext = document.forms["MyForm"]["adtext"].value;
var adtext = document.getElementById('p_adtext');
var adtext2 = document.getElementById('p_adtext2');
if (draw_adtext != "") {
adtext.innerHTML = draw_adtext;
adtext2.innerHTML = draw_adtext;
} else {
adtext.innerHTML = "";
adtext2.innerHTML = "";
}
document.getElementById('textcount').innerHTML = 75 - document.forms["MyForm"]["adtext"].value.length + " chars left";
}
追伸:私 maxlength
はtextareaの公式属性ではないことを知っており、それを処理する方法を知っています(誰かがそれに気付いた場合に備えて)。