dポイントプレゼントキャンペーン実施中!

すいませんおせーてください
で、ダブルポストです

すんごく初心者の質問かもしれません


よくある、資料請求系のページで
名前、住所、TEl、メアド・・・
とか入れていく仮定において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でも構わないので教えてくださいませんか?

A 回答 (2件)

1.


以下のjavascriptと、そのページの<BODY>タグにonkeyDown="ChgKeyCode()"を記述します。
*****javascript****
function ChgKeyCode(){
if (!(event.srcElement.type == "button" || event.srcElement.type == "submit")){
if (event.keyCode == 13){
event.keyCode = 9;
}
}
}
ボタンであれば、送信を押した扱になります。

2.
テキストボックスでstyle="ime-mode: active;"を記述します。
ちなみに
active :初期値が日本語入力モードになります。
inactive :初期値が英数字入力モードになります。
disabled :英数字入力モードになります。ユーザーの操作によるモードの変更はできません。

いかがでしょうか?
    • good
    • 0
この回答へのお礼

<html><head>
<TITLE></TITLE>
<script type="text/javascript">
function ChgKeyCode(){
if (!(event.srcElement.type == "button" || event.srcElement.type == "submit")){
if (event.keyCode == 13){
event.keyCode = 9;
}
}
}
</script>
</head>
<BODY onkeyDown="ChgKeyCode()" >
<form action="./mail.cgi">
<INPUT size="20" type="text"><br>
<INPUT size="20" type="text" tabindex="1"><BR>
<INPUT size="20"><br>
<input name="c" type="radio"><br>
<input name="d" type="checkbox"><br>
<input type="button" name="e" value="送信">
</form>
</body>
</html>

これでいいんですよね?
なんか上手くいかないんですけど
(リターンもタブも反応しない)

なんか間違ってますか?

2についてはいけると思います。
ありがとうございます。

お礼日時:2005/04/14 19:59

>なんか上手くいかないんですけど


>(リターンもタブも反応しない)
IEでは
event.keyCode == 13
でいいんですけど、
モジラ系では
function ChgKeyCode(e){
とかして
e.which == 13
とします。
イベントに関するところは、ブラウザに依存するので、ブラウザを判別して、別々に処理を書かないといけません。
    • good
    • 1
この回答へのお礼

ありがとうございました
完璧っすね!!

お礼日時:2005/04/15 12:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!