• ベストアンサー

Tabに関して

以前以下のソースのようにテキストボックスを4つくらい並べて、最大入力文字数になったら、自動的に右のテキストボックスに入力できるようにすることはできるのでしょうか? と質問をし、返答を頂いたのですが、自動的に右のテキストボックスに入力できるようにはなったのですが、キーボードのTabを使ってしまうと、全てのテキストボックスが最大になっていて、はじめのボックスでタブを押すと、3つめのボックスに飛んでしまいます。何か回避する方法がありましたら教えてください。 <html> <head> <title></title> </head> <body> <form name="form1"> <input type="text" name="txt1" size="7" maxlength="3">. <input type="text" name="txt2" size="7" maxlength="3">. <input type="text" name="txt3" size="7" maxlength="3">. <input type="text" name="txt4" size="7" maxlength="3"> </form> </body> </html>

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

  • ベストアンサー
  • s_doc
  • ベストアンサー率24% (93/377)
回答No.3

スクリプトがわからないのでアルゴリズムの話をします。 tohiyoさんは、 最大入力文字数に「なったら」フォーカスを移したいのに、 最大入力文字数で「あったら」フォーカスを移すというスクリプトを書いてませんか? もし後者なら、 元のボックスでタブを押して2つめのボックスにフォーカスが移ったとき、 既に最大文字数なら更にフォーカスを移すという動作は「指示通り」です。 このサイトでは特定の人の過去の質問を簡単に検索することができないようになってるので、 過去の質問へのリンクを張るか、 スクリプトを再掲して質問されることをお薦めします。 外してるかもしれないので「自信なし」(笑

tohiyo
質問者

お礼

皆様ご回答ありがとうございましたm(__)m

tohiyo
質問者

補足

以前投稿したときに骨組みを書いていただいたことがあり、以下のような感じで付け足してみました。これは「指示通り」なのでしょうか・・・ <html> <head> <script language="JavaScript"> <!-- var str; function inputkey1(){ str = document.hoge.textbox1.value; if ( str.length >= 3 ) document.hoge.textbox2.focus(); } function inputkey2(){ str = document.hoge.textbox2.value; if ( str.length >= 3 ) document.hoge.textbox3.focus(); } function inputkey3(){ str = document.hoge.textbox3.value; if ( str.length >= 3 ) document.hoge.textbox4.focus(); } … //--> </script> </head> <body> <form name="hoge"> <input type="text" name="textbox1" onkeyup="inputkey1()"> <input type="text" name="textbox2" onkeyup="inputkey2()"> <input type="text" name="textbox3" onkeyup="inputkey3()"> <input type="text" name="textbox4"> </form></body></html>

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#199778
noname#199778
回答No.2

具体的にどういったスクリプトにしているのかがわからないと、対処しにくいと思います。 ちょっと前の質問を捜して見てみました。 もしその回答を参考にそのまま作ったのであれば、イベントハンドラをonKeyupからonKeypressにしてみてはいかがでしょうか。 見当違いでしたら、ごめんなさい。

すると、全ての回答が全文表示されます。
  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.1

>自動的に右のテキストボックスに入力できるようにはなった >全てのテキストボックスが最大になっていて、はじめのボックスでタブを押すと、3つめのボックスに飛んでしまいます tohiyoさんの環境は? 私の環境(Win2k+IE6/Netscaoe7)ではどちらも再現しません。

tohiyo
質問者

補足

IE6/Netscape7です。IPアドレス入力の入力みたいな感じ作ってみたいのですが、どうでしょう・・・

すると、全ての回答が全文表示されます。

関連するQ&A