プロが教える店舗&オフィスのセキュリティ対策術

イントラネットでホームページの管理をしています。
個人認証画面にてユーザー→パスワードを入力してもらい、認証ボタンを押してメインページへ飛ぶ画面があります。

ユーザー入力後にEnterキー押下でパスワードへ、
パスワード入力後にEnterキー押下で認証ボタンへ
それぞれフォーカスを移動したいのですが、実現方法がわかりません。

javascriptでfocus()及びblur()を使えばと思いましたが、キー入力イベントの取得方法がわかりません。
ページ先頭にてdocument.onkeydownから取得する方法だと初回のみの取得しか出来ませんでした。
それぞれのオブジェクトでキー入力のイベント判定をしてフォーカスを移動する方法があれば教えてください。

OS :WIN2K
ブラウザ:NetScape4.0
PG :HTML(ASP,VBScript,JavaScript)

A 回答 (1件)

IE6, Firefox 1.5 で確認しましたが、


>ブラウザ:NetScape4.0
で動くかどうかは未確認です。
場合によっては、switch 文を if 文に
target を別の方法で置き換えて下さい。
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>Sample</title>
<script>
<!--
window.onload=function(){
document.FORM1.user.onkeydown=jump;
document.FORM1.pass.onkeydown=jump;
};
function jump(e){
e = (e) ? e : window.event;
if(e.keyCode==13){
if(e.target){
switch(e.target.name){
case "user" :
document.FORM1.pass.select();
return false;
case "pass" :
document.FORM1.cert.focus();
return false;
}
} else {
e.keyCode = 9;//IE:OK, Firefox:NG - readonly
}
}
return true;
}
//-->
</script>
</head>
<body>
<form name="FORM1" action="認証ページ" method="POST" >
ユーザー名<input type="text" name="user" id="USER" tabindex="1"><br>
パスワード<input type="password" name="pass" id="PASS" tabindex="2"><br>
<input type="submit" name="cert" value="認証" tabindex="3">
</form>
</body>
</html>
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2006/05/08 09:38

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