
すいませんおせーてください
すんごく初心者の質問かもしれません
よくある、資料請求系のページで
名前、住所、TEl、メアド・・・
とか入れていく仮定において2つ質問があります。
1
ある項目(例えばテキストボックス)を入力して
次の項目に映る時タブキーを押すと移動するのはわかるのですが、それがエンターキーで次の項目に移動できるようにはできるのですか?
送信を押したのと一緒の扱いになってしまうので何とかならないかな?と
2
もう一つは漢字モードと半角モードを自動的に
そのテキストボックスにフォーカスした時に
決めれるのですか?
2は出来た記憶があるのですが、どこにその説明が
あったかわかりません
1はわかりませんでした。
どっかのURLでも構わないので
教えてくださいませんか?
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>
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=送信という内容も同時に送信されます。
すばらしい!
ありがとうございます。
でも、(;;)↑これでやると、
メールアドレスのとこで何かまちがってますかね?
メールから送信に行こうとエンターを押すとエラーが発生します。
<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- …
<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>
すばらしい!ありがとうございます。
なのですが、ここで質問が出ました!
資料請求系のものなので
あらかじめ<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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
絶対パスと相対パスについて。
-
クレセントイブについて。
-
HTML&CSS 学習本の相談
-
テーブルの行を折りたたみたい...
-
HTML&CSS 学習方法のお勧め
-
ホームページを作っていたらhtm...
-
HTML/CSSを使って写真のような...
-
htmlの文字が縦書きになる
-
ホームページのサイトでhtm...
-
メモ帳の段落の揃え方
-
iPhoneで HTMLファイルを閲覧
-
HTMLです。画像をHTMLで表した...
-
角丸画像の背景色を透明にした...
-
HTMLでクロス抽出したい
-
スマホ(android)のタッチパネ...
-
HTMLとcssでページを作っていま...
-
レスポンシブで困っています・・
-
ホームページの制作について教...
-
GoogleSearchControlにホームペ...
-
Dreamweverは今も主流なんです...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitをボタン以外にするには
-
フォーム要素以外にもname属性...
-
リンクをクリックした時にform...
-
JavaScriptでフォームへのフォ...
-
長文のmailtoの使い方
-
1アクションでPOST・GET、両方...
-
type="hidden"を使って時刻を送信
-
URL パラメータを使ってフォー...
-
送信ボタン押下時に値が未入力...
-
submitの処理の後別の画面を表...
-
リロード時にも<input type="re...
-
複数のフォームを一括で送信す...
-
フォームに入力した値をURLに付...
-
CGI動作後に元のページに戻る方法
-
formなしでPOSTデータを送信・受信
-
イメージボタンでクリックしたx...
-
mailtoについて
-
同じnameのhiddenで別々の内容...
-
mailtoの記入を入力フォームを...
-
</form>タグを使用すると強制的...
おすすめ情報