jQueryでフォーム改善:文字数のカウントアップ
入力したテキストの文字数をカウントアップ
フォームの入力で文字数制限がある場合に使えます。
ここで紹介するのはtextarea要素ですが、input要素でも使えます。
HTMLソース
span要素内の数字がカウントアップされます。
<textarea type="text" id="input-up"></textarea> <span id="countUp">0</span>
Javascriptソース
$(function(){ $("textarea").keyup(function(){ var counter = $(this).val().length; $("#countUp").text(counter); if(counter == 0){ $("#countUp").text("0"); } }); });
keyupイベント
ここでキーになるのがkyeupイベントです。キーボードの入力があると呼び出されます。
詳しい説明はこちら。
value属性に入力された文字数をカウント
3行目の変数counterにvalue属性に入力された文字数を返します。
jQueryではval()で簡単にvalue属性を取得出来ます。
またまた詳しくはこちら。
テキストノードを返すtext()にカウント文字数を出力
変数counterに入っている文字数を、text()でテキストノードとしてid=”contUp”のspan要素に出力。
最後に文字数が0の場合
ページが読み込まれた時はspan要素に0がありますが、入力をするとテキストノードが別の数値に入れ替えられます。
そして、入力した文字を全て削除すると0になりません。なぜかlengthでは0が出力されません。
その為、if分で変数counterが0の場合にまたtext()を使い0を出力します。
サンプル
サンプルはこちら。
サンプルではspan要素にstyleで装飾しています。
- Web-Parkのホーム >
- Javascript >
- jQueryでフォーム改善:文字数のカウントアップ
Warning: count(): Parameter must be an array or an object that implements Countable in /home/markcrest/web-park.org/public_html/wordpress/wp-includes/class-wp-comment-query.php on line 405
COMMENT PLEASE!!
トラックバック
- 「jQueryでフォーム改善:文字数のカウントアップ」のトラックバックURL
Warning: Use of undefined constant display - assumed 'display' (this will throw an Error in a future version of PHP) in /home/markcrest/web-park.org/public_html/wordpress/wp-content/themes/default/single.php on line 105
https://web-park.org/javascript/form091016.html/trackback