• ベストアンサー

テキスト入力欄に数字を3桁入れたときに他の入力欄にフォーカスさせる

テキスト入力欄に数字を3桁入れたときに他の入力欄にフォーカスさせる(例:郵便番号を上3桁入れたら下4桁の入力欄にフォーカスさせる)にはどうしたらよいのでしょうか? lenghtを使えば桁数の参照はできると思うのですが、一定期間ごとに参照し続けるわけにもいかないし、参照すればいいのかわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

おつかれさまだです、 onkeypressメソッドなんてどうでしょうか? キーが押されるたびに呼ばれるのでその中で テキストのレングスを見て3だったらフォーカスを 移すみたいな。。。

参考URL:
http://www.openspc2.org/JavaScript/

関連するQ&A

  • テキストボックスのフォーカス移動

    こんにちは。 htmlページで<input type="text"/>に既定の桁数を入力したら次のinputにフォーカスを 移動させたいと考えています。 下の例の場合、1番目のテキストボックスに既定の桁数5ケタを入力したら、フォーカス を2番目のテキストボックスに移動させ、2番目のテキストボックスに4ケタ入力したら 3番目のテキストボックスにフォーカスを移動させるようにしたいと思っています。 スクリプトの再利用ができるよう、たとえば同じname属性を与えればその範囲内で 簡単にフォーカスを移動させられるようなものにしたいと思うのですが、うまくいきません。 何か良い書き方はありませんでしょうか? <div>  <input type="text" name="hoge" maxlength="5" onkeyup="test(this)"/>  <input type="text" name="hoge" maxlength="4" onkeyup="test(this)"/>  <input type="text" name="hoge" maxlength="5" onkeyup="test(this)"/>  <input type="text" name="hoge" maxlength="2" onkeyup="test(this)"/> </div>  ・  ・ <script type="text/javascript"> function test(elm) {  if (elm.value.length >= elm.maxLength) {   /*(気持ちとしては、ここにこのような感じのことを書きたいのですが・・・)     var arr_elm = document.getElementsByName(elm.name);     var n = elm.index + 1     arr_elm[n].focus();   */   } } </script>

  • テキストボックスのフォーカスについて

    テキストボックスの設定としては、右揃えにしてフォーカスが常に一番右に表示させていたいのですが、常に一番右に表示させる方法がわかりません。 なので、分かる方教えていただけないでしょうか? 一番右というのはテキストボックスに数字などが入力されてもフォーカスは常に入力された数字の右側にフォーカスがあるということです。

  • テキスト欄に入力されたら処理をする

    テキスト欄に数字を4つ入力したらfunction{~}を実行させたいのですがどうやったらいいですか? ちなみに〒番号から住所を検索するプログラムを作成したいます。検索ボタンをおして入力はできたのですが自動入力ができません。

  • EXCEL:3桁以上の数字の下1桁について0又は5にする方法

    こんにちは。EXCELでの事務処理に困っております。 3桁以上の数字を入力し(例:253)、その数字の下一桁に対し0~4は0に、5~9は5にして、全体を表示させる方法を教えてください。(例:253の場合、下1桁は3ですので、3は0~4の間にあるので、表示としては250になります) よろしくお願いします。

  • 7桁の数字を3桁-4桁にしたい

    エクセルで住所録を作成しているのですが、 郵便番号が「0340031」と7桁の数字になっているものを 「034-0031」としたいのです。 100件ぐらいなら一つ一つ「-」を入れていけば良いのですが 件数が多いため、一気に変換できる方法があれば教えていただきたいのです。 よろしくお願いします。

  • 様々な桁の数字を、一様の桁になおす関数

    エクセル2010を使用しているものです。 現在各セルに様々な桁の数字が入力されています。 例    2012   354861   811021354   80011687   5447845   741741 これらの数字を、頭に0をつけて全て12桁に直したいです。 例だと、2012    →000000002012      354864   →000000354864      811021354 →000811021354 どのような関数を作ればこのような処理が一括でできるでしょうか?教えてください。よろしくお願いします。

  • エクセル2010の数字入力について

    電話番号入力についての質問です。 例) 01234567788 03467892233 05645672112 07865439764 ・・・ 上のように電話番号を次々と入力していくとします。 そこで、例えば、一番上の「01234567788」がまたでてきて入力する時に、下4桁の7788と入力すると、すでに入力した同じ数字が表示される、というようにしたいのですができる方法ありますでしょうか。 例えばオートコンプリート機能のように、入力した文字列を選択するといったようにできればよいのですが、数字列には使えないとの事なので、何か良い方法がありましたら、ぜひアドバイスの方よろしくお願い致しますm(_ _)m

  • 複数桁の数字を1セルずつ表示したい

    エクセル2010を使っています。 1つのセルに入っている複数桁の数字を、1セルずつ分けて表示させたいと思っています。 しかも、数字を置き換えて桁数が減った場合には、右に詰めたいです。 (例) AIに12345 と入力したら、B1に1、B2に2、B3に3、B4に4、B5に5と表示させたい。 A1の数字を123に置き換えたら、B1、B2は空欄、B3に1、B4に2、B5に3と置き換わるようにしたい。 ただ単に数字を1セルずつ分けるだけでしたら、mid関数を使ってできるのですが、 桁数の異なる数字に置き換えると右に詰めるようにするにはどうしたらよいでしょうか。 更に、数字の左側に円マークも表示させたいです。 よろしくお願いします。

  • 4桁の数字…どうしてますか?

    銀行・携帯・クレジットカード・会社のシステムのログインパスワードなど、4桁の数字を使う機会って多いですよね。 ですが最近は安全のために生年月日や電話番号などは使えない… かといって適当に決めたらわからなくなったり… 以前は銀行のATMの横に電卓が置いてあることが多かったので、今まで使っていた番号の上2桁と下2桁をかけて出た数字にすると良い(例えば「5678」にしていた人は「56×78」で「4368」とか)という記事をどこかで読んだんですが、最近は電卓置いてるATMもあまり見かけないし… そこで質問です。 皆さんは4桁の数字を考える時、どういうものを参考にしていますか? 個人情報に障りない、差し支えのない範囲でお答えください<(__)>

  • スラッシュを固定表示したまま年月日をテキストボックスに入力できるようにするには

    今小さなプログラムを作っているところです。 テキストボックスにフォーカスが当たると、" / / "というように2桁の間を取ってスラッシュが表示され、そのまま例えば「040330」と数字を入力すると、フォーカスが外れたときに「2004/03/30」というように年月日表示となって出てくる、というふうにしたいのですが。 "040330"⇒"2004/03/30"の変換は文字列操作で何とかできそうですが、「キー入力中もスラッシュを表示させたまま、連続して6桁の数字を入力できるようにする」というのがどうしても分かりません。(^^;

専門家に質問してみよう