![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
JavaScript初心者です。
JavaScriptで残り入力可能文字数を表示するカウンタを作成したのですが
以下のプログラムだとコピペしたときカウントがされません。
そこでsetIntervalを使ってカウントできるようにしたいのですがどのように
「変数(省略可) = setInterval(関数名,ミリ秒)」
を流用すればよいのかイマイチわかりません。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>文字のカウント</title>
<script type="text/javascript"><!--
function ShowLength( str ) {
document.getElementById("inputlength").innerHTML = 20 - str.length + "文字入力できます";
}
// --></script>
</head>
<body>
<input type="text" name="title" size="50" maxlength="20" onkeyup="ShowLength(value)"><br />
あと<a id="inputlength">20文字入力できます</a>
</body>
</html>
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
解決したのかどうかよくわからないので…
ご参考までに。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>
<div>
<input type="text" name="title" size="50" maxlength="20">
<p>
あと<span id="inputlength">20</span>文字入力できます
</p>
</div>
<script type="text/javascript">
<!--
(function(){
var intervalId = setInterval(function(){
var n = 20 - document.getElementsByName("title")[0].value.length;
if(n<0) n = 0;
document.getElementById("inputlength").innerHTML = n;
}, 100);
})();
//-->
</script>
</body>
</html>
No.4
- 回答日時:
onchangeはフォーカスをはずれないとイベントが発生しないブラウザもあります。
key****ではキーボードから入力しないコピーペースト、ソフトウェアキーボードや手書き入力に反応しませんし、
(昔は日本語入力の漢字変換で文字数が違っていましたし、)
文字数チェックはタイマーが基本だと思います。
var tm=setInterval(
function(){ShowLength(document.getElementsByTagName('title')[0].value);},
10
);
未検証です。
No.3
- 回答日時:
#1ですが・・・あれ?できません?
<script type="text/javascript">
function ShowLength(str) {
document.getElementById("inputlength").innerHTML = 20 - str.length + "文字入力できます";
}
</script>
<input type="text" name="title" size="50" maxlength="20" onkeyup="ShowLength(this.value)" onchange="ShowLength(this.value)"><br />
あと<a id="inputlength">20文字入力できます</a>
回答有難うございます。
#4さんが書かれているように"onchange"はIE8ではカーソルが外れないとダメでした。
代わりに"onmouseout","onmousemove"で試したところコピペでもカウントされました。
No.2
- 回答日時:
<p>
<input type="text" id="title1" name="title" size="50" maxlength="20">
あと<span id="inputlength1">20</span>文字入力できます
</p>
<p>
<input type="text" id="title2" name="title" size="50" maxlength="15">
あと<span id="inputlength2">15</span>文字入力できます
</p>
<script>
function lengthCounter (node, max) {
max = Number (node.maxLength) || max || 20;
return function () {
return max - node.value.length;
};
}
function dispValue (node, cbFunc) {
return function () {
node.firstChild.nodeValue = cbFunc ();
};
}
setInterval ( dispValue ( document.getElementById ('inputlength1'),
lengthCounter (document.getElementById ('title1'))), 333);
setInterval ( dispValue ( document.getElementById ('inputlength2'),
lengthCounter ( document.getElementById ('title2'))), 333);
</script>
すうりぷとは、おんろうどごにしてね
すぱんのなかには、さいしょにてきとうなもじをいれてね
ぜんかくくうはくは、はんかくくうはくにしてね
回答ありがとうございます。
やり方が悪いのかもしれませんが、普通のカウントすらできませんでした。
>すうりぷとは、おんろうどごにしてね
初心者なのでこの意味すらわかりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
bodyタグのfocus
-
チェックボックスの選択パター...
-
function の return 値を表示し...
-
ウィンドウのタイトルを変えたい
-
SCRIPT5007: 未定義または NULL...
-
idHOGEで取得したinnerText(数...
-
フォーカス移動抑止について
-
文字数カウンタにsetIntervalを...
-
「オブジェクトを指定してくだ...
-
リンク移動先のURLを取得
-
JavaScriptでiframeの内容を「...
-
<a href="#" …>の意味を教えて...
-
スマホ上で、左右スワイプで次...
-
bodyにidをつける理由は何ですか?
-
特定のページから移動してきた...
-
datepickerで日付の値を取得したい
-
JavaScriptからVBScriptの呼び...
-
(Javascript)印刷するファイル...
-
Dreamweaver で 外部JSを読み込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
JavaScriptでiframeの内容を「...
-
function の return 値を表示し...
-
SCRIPT5007: 未定義または NULL...
-
ボタンのID名を取得するには?
-
JavaScript でキーを送る
-
フォーカス移動抑止について
-
乱数を一定時間毎に表示させた...
-
ボタンを押してテキストエリア...
-
bodyタグのfocus
-
JavaScriptでのEnterキーとAlt+...
-
自動ジャンプでフォームデータ...
-
一定時間画像を表示させ、その...
-
リンク移動先のURLを取得
-
idHOGEで取得したinnerText(数...
-
「オブジェクトを指定してくだ...
-
html javascript 作った配列を...
-
キーを押している間の時間を計...
-
チェックボックスの選択パター...
-
Operaでのobjectタブの高さ変更
おすすめ情報