-1

texbox 内の文字を数え、Java スクリプトを使用してその数をスパンに入れようとしています。1つのjavascript関数を使用してそれを行うにはどうすればよいですか? それらはすべてphp変数にあります。

$content="

<script language='JavaScript'>
   function here
</script>

<p><input type='text' name='title' onKeyUp='function()' />
    <br />character count: <span id='titlecharcount'>0</span></p>
<p><input type='text' name='description' onKeyUp='function()' />
    <br />character count: <span id='descriptioncharcount'>0</span></p>
";
4

2 に答える 2

0

属性を変更してスパンを渡す場合、たとえば (引用符に注意してください) onKeyUp:thisid

<input type='text' name='title' onKeyUp="yourHandler(this, 'titlecharcount')" />

...次に、ハンドラーでこれらの引数を受け入れます。最初の引数はinput要素への参照になり、2 番目の引数idはスパンを指定する文字列になります。spanその後、を介して要素を取得できますdocument.getElementById。これにより、そのinnerHTMLプロパティを取得および設定して、その内容を取得および設定できます。an の値は入力のプロパティinputとして使用できるため、次のようになります。value

function yourHandler(input, id) {
    var span = document.getElementById(id);
    span.innerHTML = input.value.length;
}

補足:onkeypressではなくを使用することをお勧めしonkeyupます。onkeyupキーが離されたときにのみ起動するため、誰かがキーを押したままにしてキーリピートを取得しても、カウントは更新されません。

onkeypressこれとは別に、属性名は大文字と小文字が混在する ( not )のではなく、すべて小文字で記述しますonKeyPress

于 2013-01-07T07:57:50.163 に答える
0

span 要素には値がありません。内部コンテンツがあります。この関数を使用してコンテンツを変更できます。

function changeLink(elementID)
{
    document.getElementById(elementID).innerHTML="content";
}
于 2013-01-07T08:00:02.293 に答える