Web画面で入力するシステムを構築しています。
利用者が入力する際、使いやすくするためという要望があり、現在「Enterキー」を押下するとそのキーコードをトラップし、TABに変換して次項目へ移動させるという処理をJavaScriptで行っています。
ここで、Web画面の項目に「TEXTAREA」があり、その項目中で入力し改行したいと思っても上記JavaScriptが効いてしまって次項目へ飛んでしまいます。
そこで「Alt+Enter」を押すとTEXTAREA内で改行するという処理を作り込みたいのですが、やり方がわかりません。(ただし、Altでなくても可。要はEnterを押すと次項目へ移動し、何か特別なことをするとTEXTAREA内で改行できればOK。)
「Alt+Enter」時のキーコードや具体的なやり方を紹介していただけないでしょうか?
以上、よろしくお願いします。
No.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>
返事が遅くなりすいません。
ありがとうございます。
確かにうまくいきそうですね。
こちらのJavaスクリプトに組み込んで試してみます。
結果は後ほどアップさせていただきます。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQLに登録した内容を更新する時の、textareaの使い方 1 2022/07/11 18:20
- Windows 10 エクスプローラで希望の場所が表示できない 2 2023/06/29 15:19
- Skype windows11 スリープからの復帰時にサイン画面を表示したいのですが 1 2022/06/10 10:50
- Windows Me・NT・2000 widows xpのエラーで利用ができなくなりました 3 2022/12/21 13:43
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- マウス・キーボード テンキーの設定がおかしくなっています。 5 2023/08/09 15:35
- Excel(エクセル) MSさん、シッカリしてよ~んッ! 3 2023/01/30 13:15
- Excel(エクセル) キーボード・ショートカットの Alt+; の説明は何処に? 1 2023/07/30 18:03
- Visual Basic(VBA) 該当セルに行替えを含むデータを命令文に入れて、2行に表示したい。 5 2023/07/20 11:51
- Excel(エクセル) Excel ヘルプの[ロック解除]、<c0>、</c0> の意味は何ですか? 1 2023/02/20 16:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マウスクリックした地点のテキ...
-
リンク移動先のURLを取得
-
getElementsByNameで要素が取得...
-
SSIをJavascriptの変数に割り当...
-
return falseが効かない(F5キ...
-
時間帯○時○分で表示切替
-
【js】onsubmit属性が変更できない
-
XMLHTTPRequestでstatusが0に
-
指定したセルにrowspan属性を適...
-
ボタンをクリックしたらページ...
-
一部のテキストだけのKEYCODEを...
-
JavaScript でキーを送る
-
idHOGEで取得したinnerText(数...
-
Javascriptの出力結果をhtmlボ...
-
関数内でonclickをさせたい
-
Google Maps APIについて質問です
-
Backbone.js イベントが効かない
-
SCRIPT5007: 未定義または NULL...
-
function の return 値を表示し...
-
フォーカス移動抑止について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
JavaScriptでiframeの内容を「...
-
function の return 値を表示し...
-
SCRIPT5007: 未定義または NULL...
-
ボタンのID名を取得するには?
-
JavaScript でキーを送る
-
フォーカス移動抑止について
-
乱数を一定時間毎に表示させた...
-
bodyタグのfocus
-
ボタンを押してテキストエリア...
-
JavaScriptでのEnterキーとAlt+...
-
自動ジャンプでフォームデータ...
-
リンク移動先のURLを取得
-
一定時間画像を表示させ、その...
-
idHOGEで取得したinnerText(数...
-
「オブジェクトを指定してくだ...
-
キーを押している間の時間を計...
-
html javascript 作った配列を...
-
チェックボックスの選択パター...
-
Operaでのobjectタブの高さ変更
おすすめ情報