困っています、助けてください。
フォームのテキストボックスの入力された文字数をチェックし、
サイズオーバーなら、アラートを表示し、テキストボックスにフォーカスを移動させたい。
のですが、上手く動いてくれません。
コードは次の通りです。どこがおかしいのか?どうすれば改善できるのか? 教えてください。
<form method="post" action="#">
<input type="text" name="fmTitle" onBlur="checkText(this)">
</form>
<script type="text/javascript">
<!--
function checkText(aText)
{
if (aText.value.length > 100) {
alert('サイズオーバーです');
aText.focus();
}
}
//-->
</script>
No.2ベストアンサー
- 回答日時:
こんにちは。
こちらの環境で上のソースそのままをコピーして確認したところ、普通に動きましたよ(^^
こちらはWinXPSP2/IE6.0です。
半角全角ともに100文字を超えると(101以上)だとアラートが出て、フォーカスがfmTitleに戻りました(ちなみにテキストボックスを2つ以上に増えても問題なくその箇所に戻りました)。
考えられることはJavaScriptが無効になっているとかですが…(私は最初情報バーに邪魔されました^^;)そういうことはないと思いますし、もしよければ確認環境と、どのように動かないのか(文字数が100文字以下なのにアラートが出る/100文字を超えてもアラートが出ない/アラートは出るのにフォーカスが移動しない等…)教えていただければ、もう少しお手伝いが出来るかもしれません。
この回答への補足
ご回答ありがとうございます。
#4の補足欄のような状況で、FireFoxの問題のようです。
対策方法等ご存知でしたら、ご教授願います。
No.4
- 回答日時:
xyz_1990さん、こんにちは。
> 上手く動いてくれません。
というのは、具体的にはどのような動きになるのでしょうか?
JavaScript エラーが発生する、ということでしょうか?
そうであれば、ステータスバーの左に出る、警告のアイコンをクリックすると、エラーの詳細が分かるかと思います。
どのように動作しないのか、もう少し詳細な情報を頂ければ、回答しやすいかと思います。
ちなみに、載せて頂いたソースをそのままコピペして、それぞれ headタグ、bodyタグに埋め込んで動作確認してみましたが、わたしの環境では正常に動きましたよ。
(「正常に」と申しましても、xyz_1990さんが求めている動きと合っているかどうかの保証はありませんが…)
わたしの動作環境は IE6 SP2 です。
この回答への補足
ご回答ありがとうございます。
正常に動かないというのは、
テキストエリアにフォーカスが行かないということです。
ただ、作動環境がFireFoxだったのですが、
IEで試したら、上手くフォーカスされました。
どうも、FireFoxの問題の様です。
FireFox用の対策ってあるのでしょうか?
質問内容が変わってきたので、
この質問は一度締め切り、
新規に質問を作成しようと思います。
皆様、どうもありがとうございました。
No.3
- 回答日時:
こんな感じじゃないですか?
<form method="post" action="#">
<input type="text" name="fmTitle" onBlur="checkText(this.form)">
</form>
<script type="text/javascript">
<!--
function checkText(aText)
{
if (aText.fmTitle.value.length > 100) {
alert('サイズオーバーです');
aText.fmTitle.focus();
}
}
//-->
</script>
---------------
しかし、100字もあるならtextareaの方がよいような
この回答への補足
ご回答ありがとうございます。
#4の補足欄に書いたような状況です。
ゆくゆくは、複数のテキストエリアに、チェック機能をつけたいので、テキストエリアを指定したいのです。
No.1
- 回答日時:
こんちくは。
んー。いつも「this」を使わないんでイマイチですがー。。。
どこのthisか、システム上不明になってる。。。って事ないですか?
フォーム名が指定されてませんので、「aText」の名前を探しに行って行方不明になったとか。。。
ちなみに、thisを使わなくても。。。
<form method="post" action="#" name ="form">
<input type="text" name="fmTitle" onBlur="checkText()">
</form>
<script type="text/javascript">
<!--
function checkText()
{
if (document.form.value.fmTitle.length > 100) {
alert('サイズオーバーです');
document.form.fmTitle.focus();
}
}
//-->
</script>
でできるかと。
this使ったほうはよう分かりませんが、フォーム名をつけて
「document.form.aText.focus();」
とかじゃダメですかね?
この回答への補足
ご回答ありがとうございます。
#4の補足欄のような状況です。
コード自体は良さそうです。
質問する前に、IEで試して見るべきでした。
FireFoxの問題のようです。対策方法ご存知でしたら、ご教授願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
サブウィンドウを常に最前面に表示する
JavaScript
-
tableの任意行にfocusをあてる
JavaScript
-
System.Net.Sockets.SocketException が発生
Visual Basic(VBA)
-
-
4
return trueとreturn falseの用途・違いは・・・?
JavaScript
-
5
opener.focus();が利かない
JavaScript
-
6
cssで、表示されるテキストによってフォントの色を変えるには
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1つのページにformを2つ設置。2...
-
formのsubmitイベントの発生に...
-
別窓ウィンドウから親ウィンド...
-
iframe内のformをサブミットす...
-
JavaScript:現在フォーカスの...
-
POST時に要素を削除してからPOST
-
javascriptで .jpg , .jpeg , ....
-
タブキーでなくエンターキーで...
-
別ウィンドウへのsubmitの挙動...
-
複数のフォームを一括で自動送...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
テキストボックス入力を半角英...
-
【jQuery】input nameの文字列...
-
二つの入力欄に、同時に同じ文...
-
onchangeイベントを強制的に発...
-
<input>の選択肢をプルダウンメ...
-
ボタンかリンクをクリックする...
-
%の計算の仕方
-
チェックボックスのON/OFFでVal...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つのページにformを2つ設置。2...
-
複数のフォームを一括で自動送...
-
Cookieに保存されない
-
別ウィンドウへのsubmitの挙動...
-
submitした値を返したい
-
formのsubmitイベントの発生に...
-
javascriptでASPにデータを渡す
-
フォームが空欄の時にフォーム...
-
focus()が上手くいかない
-
iframe内のformをサブミットす...
-
POST時に要素を削除してからPOST
-
FormのonsubmitでJavaスクリプ...
-
1つのform内に2つのsubmitボタ...
-
JavascriptからSubmitして画面...
-
submitボタン押下後、disabled...
-
添付ファイルの未選択チェック方法
-
enterキーでのtab移動
-
ファイル選択と同時にアップロ...
-
別窓ウィンドウから親ウィンド...
-
Javascript IEで「識別子があり...
おすすめ情報