
HTMLで、
<applet code = "XXX.class" width="100" height="100" name="app1">
</applet>
JavaScriptで
document.app1.showString("表示");
アプレットコード内に
showString(String text)というメソッドを用意して、JavaScript側からアプレットにテキストを送っています。
このアプレットはチャットプログラムのクライアントとして動作していて、ブラウザの閉じるボタンでログアウトメソッドを呼ぶように作られています。
しかし、JavaScriptで用意したテキストボックスにテキストを打ち込んで送信するときに
リターンキーを使うと、アプレットはブラウザの閉じるボタンを押したと判定して、ログアウトしてしまいます。
アクションリスナーを設定すれば、テキストの内容をリターンキーで送信できるようですが、
JavaScriptで用意したテキストボックスに、アクションリスナーを設定する方法がわかりません。
よろしくお願いします。
送信ボタンでテキストを送信することはできるのですが、
多くのチャットプログラムはリターンキーで送信できますので、リターンキーを使える方法を教えて下さい。
No.1ベストアンサー
- 回答日時:
まず、チャット等でエンターで送信が出来るのは、
formのアクション先に対してのサブミットがあるからだと思います。
同じ方法を取ろうとするとサーブレット等を用意してそちらにサブミット
をかけて、データを受け取り、処理を行って、クライアントに表示する
形になると思います。(多くのチャット)
以下のソースで一応思っているような動きにはなっていると思いますが
いかがでしょうか。(多分IE限定かな?IEのみでしか確認していません)
*インデントに全角空白使用しています。
======================================================================================
<html>
<head>
<title>テスト</title>
<script type="text/javascript">
<!--
function submitText () {
if ( event.keyCode == 13 ) {
document.app1.showString(document.form1.msg.value);
return false;
}
}
//-->
</script>
</head>
<body>
<form name="form1">
<input type="text" name="msg" onkeydown="return submitText();">
</form>
</body>
</html>
======================================================================================
何を行っているかというと、テキストエリアに文字を入力する際のイベントで
押すごとに関数を呼び出しています。
そこで、エンターキー(event.keyCodeで取得し'13'だった場合)が押された場合
アプレット内のshowStringメソッドに対し、テキストエリアであるmsgの値を取得して
渡しています。
>JavaScriptで用意したテキストボックスに、アクションリスナーを設定する方法がわかりません。
アクションリスナーとはJavaの機能と考えてください。JavaScriptとJavaは外見そっくりですが
違うものです。
他にも方法があるのかもしれませんがどうでしょうか。
この回答への補足
補足いたします。
JAVAアプレットのログアウトメソッドのソースです。
////////////////////// 破棄
public void destroy()
{
// ログアウト処理
// ブラウザが閉じられた場合や別のページへ移った場合はログアウト
LogOut();
}
LancerVIIさん
こんにちは。
早速試して見たのですが、テキストボックスに入力後、
リターンキーを押すとやはり、ログアウトしてしまいます。
JAVAの方がイベントの取得タイミングが速いのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
Googleログインボタンのデザイ...
-
googleスプレッドシートのスク...
-
googleスプレッドシートのGASに...
-
jdbcでinsert,delete,createをe...
-
プログラミングの問題です。大...
-
直し方について教えて頂きたい...
-
JDONWROADER2のエラー修復
-
スプレッドシートからリマイン...
-
Verilogについて質問です。この...
-
論理回路設計をVerilogで行う問...
-
ゲーム開発の入門書を探しています
-
session,requestはjspで未定義...
-
サーブレットをapacheで公開す...
-
下記のリストならno002が含まれ...
-
is this even a thing?
-
JAの支部?地域の農協のカード...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm
-
質問
-
機能検証、論理検証の意味について
-
JSPでリンクを利用してパラ...
-
includeアクションのflush属性...
-
サーブレットからパラメータをP...
-
中国ドラマ「陳情令」途中から ...
-
これ絶対に見たほうがいいって...
-
ネヴァーエンディングストーリ...
-
submitとは?
-
のび太のバイオハザードのよう...
-
data-○○○を自分で作った際、表...
-
アニヲタの皆様はゲームしますか?
-
オススメのマンガはありますか?
-
スタントウーマン目指す
-
姓名占いをしたいのですがオス...
-
ウォーターワールド
-
映画の撮影
-
おもしろい漫画教えて
-
ヴェノム(映画)について少し教...
おすすめ情報