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

Web画面で入力するシステムを構築しています。
利用者が入力する際、使いやすくするためという要望があり、現在「Enterキー」を押下するとそのキーコードをトラップし、TABに変換して次項目へ移動させるという処理をJavaScriptで行っています。
ここで、Web画面の項目に「TEXTAREA」があり、その項目中で入力し改行したいと思っても上記JavaScriptが効いてしまって次項目へ飛んでしまいます。
そこで「Alt+Enter」を押すとTEXTAREA内で改行するという処理を作り込みたいのですが、やり方がわかりません。(ただし、Altでなくても可。要はEnterを押すと次項目へ移動し、何か特別なことをするとTEXTAREA内で改行できればOK。)
「Alt+Enter」時のキーコードや具体的なやり方を紹介していただけないでしょうか?

以上、よろしくお願いします。

A 回答 (2件)

#1です、実際に試してみたのですが、、


ALTキーの場合、ブラウザがショートカットキーとして横取りするみたいなので、うまくいかないですね。
そこで、Shift+Enterでやるサンプルを作ってみました。
TABへの変換はしてませんけど、それは、修正して下さい。
----------------------------------------------------------------
<!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.getElementById('TAREA').onkeypress=jump;
};
function jump(e){
if(navigator.appName.charAt(0)=="M"){//IE
if(window.event.keyCode==13){
if(!window.event.shiftKey){
// window.event.keyCode=9;//TABはムリ
// document.getElementById('TEXT').focus();
//正規には次のtabindexで移動?
document.getElementById('TEXT').select();
return false;
}
}
} else {//Fox
if(e.which==13){
if(!e.shiftKey){
document.getElementById('TEXT').select();
return false;
}
}
}
return true;
}
//-->
</script>
</head>
<body>
<form name="FORM">
<textarea cols="10" rows="10" id="TAREA"></textarea>
<input type="text" value="TEXT" id="TEXT">
</form>
</body>
</html>
    • good
    • 0
この回答へのお礼

返事が遅くなりすいません。
ありがとうございます。
確かにうまくいきそうですね。
こちらのJavaスクリプトに組み込んで試してみます。
結果は後ほどアップさせていただきます。

本当にありがとうございました!

お礼日時:2005/11/14 11:34

IEの場合は、


window.event.altKey
の真偽でALTキーが押されているかどうかわかりますが、
モジラとかでどう判別するかは知りません
    • good
    • 0

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