タブキーとエンターキーの項目移動方法について質問

このQ&Aのポイント
  • 資料請求ページにおいて、タブキーではなくエンターキーで次の項目に移動する方法はあるのか?また、漢字モードと半角モードを自動的に切り替える方法も知りたい。
  • 資料請求ページで項目を入力していく際に、タブキーではなくエンターキーで次の項目に移動する方法が知りたいです。また、漢字モードと半角モードを自動的に切り替える方法も教えてほしいです。
  • 初心者の質問ですが、資料請求ページで項目を入力していく際に、タブキーではなくエンターキーで次の項目に移動する方法はありますか?また、漢字モードと半角モードを自動的に切り替える方法も教えてください。
回答を見る
  • ベストアンサー

タブキーでなくエンターキーで次の項目へ

すいませんおせーてください すんごく初心者の質問かもしれません よくある、資料請求系のページで 名前、住所、TEl、メアド・・・ とか入れていく仮定において2つ質問があります。 1 ある項目(例えばテキストボックス)を入力して 次の項目に映る時タブキーを押すと移動するのはわかるのですが、それがエンターキーで次の項目に移動できるようにはできるのですか? 送信を押したのと一緒の扱いになってしまうので何とかならないかな?と 2 もう一つは漢字モードと半角モードを自動的に そのテキストボックスにフォーカスした時に 決めれるのですか? 2は出来た記憶があるのですが、どこにその説明が あったかわかりません 1はわかりませんでした。 どっかのURLでも構わないので 教えてくださいませんか?

  • HTML
  • 回答数5
  • ありがとう数6

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

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

間違っていました、訂正です。 <html><head> <script type="text/javascript"><!-- var submitflag=0; //--></script> </head> head内を上記のようにします。 メールアドレス:<input name="email" onkeypress=onkeypress="if(window.event.keyCode==13) { submitflag = 1; test.e.focus(); }" style="ime-mode: disabled;"> <input type="button" name="button" value="送信" onclick="if(submitflag == 0) { test.submit(); } else { submitflag = 0; }"></form> また、ラジオボタンやチェックボックスには、style="ime-mode..." をつけないでください。 また、head内タグ、および、submitflag=...に関連するもの、および、それの評価のためのif文を抜くと、最後のフォームでEnterを押すと同時に、ボタンを同時に押すことになります。 以下、当方テスト用のものです。 <html><head> <script type="text/javascript"><!-- var submitflag=0; //--></script> </head> <body> <form action="test.html" name="test"> <input name="a" onkeypress="if(window.event.keyCode==13) { test.b.focus(); }" style="ime-mode: active;"><br> <input name="b" onkeypress="if(window.event.keyCode==13) { test.c.focus(); }" style="ime-mode: disabled;"><br> <input name="c" type="radio" onkeypress="if(window.event.keyCode==13) { test.d.focus(); }"><br> <input name="d" type="checkbox" onkeypress="if(window.event.keyCode==13) { submitflag = 1; test.e.focus(); }"><br> <input type="button" name="e" value="送信" onclick="if(submitflag == 0) { test.submit(); } else { submitflag = 0; }"> </form> </body> </html>

deepimpact
質問者

お礼

すばらしいです。 ほんとうにありがとうございました。 完璧ですね

その他の回答 (4)

回答No.4

#3補足です。 メールアドレスの所でEnterを押した場合に移動する場所を、送信ボタンにする場合、以下のようにしてください。 メールアドレス:<input name="email" onkeypress="if(window.event.keyCode==13) { mail.button.focus(); }" style="ime-mode: disabled;"> <input type="button" name="button" value="送信" onclick="this.submit();"> この場合、button=送信という内容も同時に送信されます。

deepimpact
質問者

お礼

すばらしい! ありがとうございます。 でも、(;;)↑これでやると、 メールアドレスのとこで何かまちがってますかね? メールから送信に行こうとエンターを押すとエラーが発生します。 <form action="../mail.cgi" name="mail"> お名前:<input name="name" onkeypress="if(window.event.keyCode==13) { mail.post.focus(); }" style="ime-mode: active;"> 郵便番号:<input name="post" maxlength="8" onkeypress="if(window.event.keyCode==13) { mail.address.focus(); }" style="ime-mode: disabled;"> 住所:<input name="address" onkeypress="if(window.event.keyCode==13) { mail.tel.focus(); }" style="ime-mode: active;"> 電話番号:<input name="tel" maxlength="13" onkeypress="if(window.event.keyCode==13) { mail.email.focus(); }" style="ime-mode: disabled;"> メールアドレス:<input name="email" onkeypress="if(window.event.keyCode==13) { mail.button.focus(); }" style="ime-mode: disabled;"> <input type="button" name="button" value="送信" onclick="this.submit();"></form> コピペだけしたつもりなんですが・・ それと、また付随で申し訳ないのですが、 チェックボックスやセレクトもためしたのですが、 上手くいきません これは別に何か数式があるのでしょうか? (例えば) 電話番号を所を <INPUT type="radio" name="tel" value="1" onkeypress="if(window.event.keyCode==13) { mail.email.focus(); }" style="ime-mode: disabled;"> にしたらラジオだからでしょうか? エラーがでるのですが・・

回答No.3

#1について たぶん勘違いだと思います。 <form> ~ </form> の中に、<form> が更に存在すると誤作動します。 ですので、これらの形になるように、<form>をきちんと設定する必要があります。 #1で示したのは、動くもののあくまでもサンプルです。 これを参考にして、実際に使用するものの上で書き換えるべきです。 書き換えるとしたら・・・ <form action="../mail.cgi" name="mail"> お名前:<input name="name" onkeypress="if(window.event.keyCode==13) { mail.post.focus(); }" style="ime-mode: active;"> 郵便番号:<input name="post" maxlength="8" onkeypress="if(window.event.keyCode==13) { mail.address.focus(); }" style="ime-mode: disabled;"> 住所:<input name="address" onkeypress="if(window.event.keyCode==13) { mail.tel.focus(); }" style="ime-mode: active;"> 電話番号:<input name="tel" maxlength="13" onkeypress="if(window.event.keyCode==13) { mail.email.focus(); }" style="ime-mode: disabled;"> メールアドレス:<input name="email" onkeypress="if(window.event.keyCode==13) { mail.name.focus(); }" style="ime-mode: disabled;"> <input type="button" value="送信" onclick="this.submit();"> </form> というふうになります。 JavaScript内の、mail.????.focus の ???? は、次の項目に移動できるようになっています。 また、このスクリプトは、Netscape、Firefox等他のブラウザでは「動きません」 IEと他ブラウザを区別できるスクリプトも別途必要になります。

回答No.2

それでは、分解して説明します。 <form action="test.html" name="test"> 念のため、フォームオブジェクトに名前を指定しておく必要があります。今回は、test という名前です。 onkeypress="if(window.event.keyCode==13) { test.b.focus(); }" http://www.tohoho-web.com/js/event.htm#EventIE キー入力したときのイベントです。 キーコードが、CR であれば、test.b という所にフォーカスします。 (Macで動くかな。汗) style="ime-mode: active;" style="ime-mode: disabled;" それぞれ、IMEのON/OFFです。 http://www.tohoho-web.com/css/reference.htm#ime-mode <input type="button" value="送信" onclick="this.submit();"> type="submit" のままでは、Enterキーをこちらが先に受け取ってしまうので、button にしておき、JavaScriptでsubmitします。

回答No.1

まずは動くものから・・・ 完全にIE専用です。Netscape,Mozilla,Firefox,Operaとかでは動かないはずです。 <html><head></head> <body> <form action="test.html" name="test"> <input name="a" onkeypress="if(window.event.keyCode==13) { test.b.focus(); }" style="ime-mode: active;"><br> <input name="b" onkeypress="if(window.event.keyCode==13) { test.a.focus(); }" style="ime-mode: disabled;"><br> <input type="button" value="送信" onclick="this.submit();"> </form> </body> </html>

deepimpact
質問者

お礼

すばらしい!ありがとうございます。 なのですが、ここで質問が出ました! 資料請求系のものなので あらかじめ<form action="../mail.cgi"></form> で質問の所が囲まれています。 お教えいただいたform囲いは <form action="../mail.cgi">#メール囲い用 <form action="test.html" name="test">#お教えいただいたもの <input name="a"・・・>お名前 送信ボタン </form> </form> とできず <form action="../mail.cgi">#メール囲い用 </form> <form action="test.html" name="test">#お教えいただいたもの </form> と なりますよね(←これ勘違いしてますか?) そこはどうしたらいいでしょうか? <form ....> </form> <form ....> </form> はできるけど、inputが入れられない で、 <form ....> <form ....> </form> </form> この形はとれないですよね?

関連するQ&A

  • タブキーでなくエンターキーで次の項目へ

    すいませんおせーてください で、ダブルポストです すんごく初心者の質問かもしれません よくある、資料請求系のページで 名前、住所、TEl、メアド・・・ とか入れていく仮定において2つ質問があります。 1 ある項目(例えばテキストボックス)を入力して 次の項目に映る時タブキーを押すと移動するのはわかるのですが、それがエンターキーで次の項目に移動できるようにはできるのですか? 送信を押したのと一緒の扱いになってしまうので何とかならないかな?と 2 もう一つは漢字モードと半角モードを自動的に そのテキストボックスにフォーカスした時に 決めれるのですか? 2は出来た記憶があるのですが、どこにその説明が あったかわかりません 1はわかりませんでした。 <form >で行うやり方はわかったのですが、 資料請求なので、あらかじめ <form action=メールを送るcgi> お名前input 住所input 送信キー </form> とformで囲っているため 多分 <form action=メールを送るもの> <form action=エンターで次に移動するもの> お名前input 住所input 送信キー </form> </form> という囲いができないですよね?(←勘違いかもしれませんが) <form> </form> <form> </form> ならOKですが・・ でjavascriptでできるのかな?と思ってダブルポストです。 どこかのURLでも構わないので教えてくださいませんか?

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

    探してみたのですがわからないので質問します。 初歩的な質問ですみません。タブキーでなくてエンターキーでテキストボックスのフォーカスをいどうさせる方法を教えてください。 テキスト1を入力後エンターキーを押すと次のテキストボックスにいどうさせる方法です。 エクセルのVBではなくVB6での質問です。

  • タブキーの代用

    仕事場で使いたいのですが、キーボードのタブキーは左端にひとつしかありませんが、このタブの機能(次の項目に移る)を右側のキーのどれかで代用することは出来ないでしょうか。 エンターキーを押すと次の項目に移らずに送信してしまう設定にしてあるものですから。

  • エクセル タブキーを使って移動したい。

    図のようにシート上にテキストボックスが二つあります。 テキストボックス1からテキストボックス2へ タブキーを使って移動したいのですが機能しません。 無理なのでしょうか?

  • Access:タブキーでのフォーカス移動の際、自動でふりがなが入力されません

    Access2003で質問です。 現在、仕事で社員名簿をAccessで作成しています。 フォーム内でテーブル内容を閲覧・編集はできるようになったのですが、 ふりがなの表示がどうも上手くいきません。 マウスでテキストボックス1(氏名)をクリックしてフォーカスを移動させるとテキストボックス2(ふりがな)にはちゃんとふりがなが表示されるのですが、 タブキーでテキストボックス1にフォーカス移動させて入力しても、 テキストボックス2には表示されない状況です。 解決策をご存知の方、ご教授お願いします。

  • [Enter]エンターキーでカーソル移動する方法

    プログラム(VB.NET)初心者です。 どうぞよろしくお願いします。 フォームに複数のテキストボックスを配置しているのですが、 タブで次のテキストにフォーカスが移動するように [Enter]キー押下時もフォーカスを次のテキストに移動させたいのです。 色々試してみたものの、なかなかうまくいきません(><) どなたか、わかる方教えていただけたら幸いです。 サンプルソースがあると嬉しいです。 申し訳ありませんが、宜しくお願いします。

  • ダイアログ中のタブキーによるカーソルの移動

    MFCでダイアログを使ったアプリケーションを 作りました。 実行時に、ダイアログで 入力項目が10個くらいあるのですが、 タブキーで移動しようとすると、 カーソルが入力ボックス並びとは全く関係なく、 あっちこっち飛んでしまいます。 どうやら入力ボックスを作った順番に 飛んでいるらしい?のです。 入力ボックスの順にタブキーが移動するように できる方法がありましたら、 教えてください。 参考HPやヒント、キーワードだけでも 大変助かります。 よろしくお願いします。

  • フォーカスの順番移動

    VBAで今フォーム1にテキストボックス2つ コンボボックス3つ上から順にあるのですが エンターキーまたはタブを押すと上から順番にフォーカスを移動させたいので すが、どうすればいいのでしょうか?プロパティの設定でできるのでしょうか ?今はタブキーを押すとばらばらの順番でフォーカスが移動します。なぜでしょう? ちなみにコントロールの名前は上から TextBox1、TextBox2、ComboBox1、ComboBox2、ComboBox3です

  • 【エクセルVBA】 タブでのカーソル移動の質問です

    ユーザーフォームを設置して、テキストボックスを複数設置し、入力援助するVBAを組んでいます。 タブインデックスのとおりに、タブもしくはエンターキーで、通常はカーソルがテキストボックス間を移動しますが、ほんのたまにですが、エンターキーで移動ができず、またタブキーではテキストボックス内にタブができてしまい、次のテキストボックスに移動しない現象が現れます。 そうした場合はマウスで次のボックスにカーソルを移動しますが非常に面倒です。またこの現象はファイルを再起動したら直ったり直らなかったり、ウインドウズを再起動しても直らなかったりで困っています。 どうしてこのようなカーソル移動の不具合が起こるのか、またはどうしたら無くなるのでしょう?

  • 項目移動の順番を設定したい

    VBの画面から、ユーザーが直接入力する項目 (テキストボックス、コマンドボタン、コンボボックス等)の、 カーソルはタブキーで移動出来ますが、 移動する順番を設定するには、 どのようにすれば良いのでしょうか?

専門家に質問してみよう