
チャットの仕組みを知りたくて以下のサイトを見ています。
http://www.ibm.com/developerworks/jp/xml/library …
ここの『リスト 6. chat.php (修正後)』にあります、発言を送信する部分、
<button onclick="addmessage()">Add</button>
をEnterキーで行いたいと思い、 onKeyPressへ書き換えてみましたが反応しませんでした。
こちらをonclickでもEnterキーでも両方で行いたいのですが、どのようにすればよろしいのでしょうか?
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
#1 です。
お礼をよみました。> 画面が一度消え再表示される、いわゆるページリロードのようになってしまいます。
form送信が発行され、画面が再描画されている為と思われます。
onclick でも同様の問題は発生するはずですが、form要素がなかったのでしょうか。
デフォルトアクション(form送信)を無効化する為、event.preventDefault() を追加してください。
https://developer.mozilla.org/ja/docs/Web/API/ev …
# Re: whitebeltさん
No.3
- 回答日時:
jqueryとなりますが
$("input select").keydown(function() {
if( event.keyCode == 13 ) {
alert('テキストとプルダウン上でenterキーが押下されました。');
}
});
No.2
- 回答日時:
<button type="button" onclick="addmessage()">Add</button>
このままで行けませんか?
type="button"を指定しておいた方がいいです。typeのデフォルト値はブラウザ共通ではないので。
もしかしたら、エンターキーでフォームが送信され、ページを再読み込みしているのかもしれません。(type="submit" がデフォルトのブラウザを使われている場合。)
ありがとうございます。
こちらの方法も試してはいたのですが、できませんでした。
発言を入れEnterを押すと、画面が一瞬消え再表示、発言は更新されません。
<button type="button" onclick="addmessage()" onKeyPress="addmessage()">Add</button>
も試してみましたがダメでした。
No.1
- 回答日時:
click ではなく、submit イベントを定義してください。
アクセシビリティを考えれば、click 依存は避けるのが無難です。
# Re: whitebeltさん
お早いご回答ありがとうございます。
おっしゃるように、
<form id="chatmessage">
<input type="text" name="message" id="messagetext">
<input type="submit" value="Add" onclick="addmessage();">
</form>
としてみますと、Enterキーで発言の送信はできたのですが
画面が一度消え再表示される、いわゆるページリロードのようになってしまいます。
このスクリプトの当初の挙動のようにリロード無しで発言のみを表示させたいのですが、不可能なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【掲示板の機能】投稿時にサイ...
-
sessionの値でボタンを活性・非...
-
onClick="this.form.submit
-
VBSでブラウザ上のテキストボッ...
-
TextBoxに半角数字以外を入れた...
-
onchangeイベントを強制的に発...
-
プルダウンで選択すると、DBの...
-
JavaScript ログアウト処理
-
プルダウンで選択した項目にあ...
-
ブラウザの外にあるマウスの情...
-
return trueとreturn falseの用...
-
Selectボックスの幅を自動で広...
-
ボタンかリンクをクリックする...
-
VB.NETで<Input>タグ、<text...
-
javascriptで画像をテーブルに...
-
RegularExpressionValidatorの...
-
JavaScript:現在フォーカスの...
-
Cookieに保存されない
-
Pythonのプログラミングについ...
-
ラジオボタンにタブインデック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onclickをEnterキーでも行いたい
-
jsで質問です。 ボタンが二つ存...
-
disabled プロパティが表示され...
-
VBSでブラウザ上のテキストボッ...
-
同名ボタンのクリック時要素番...
-
confirmのOK・キャンセルを押し...
-
ボタン2回押しを無効にしたい
-
sessionの値でボタンを活性・非...
-
フォーム内で記入したクエリ送...
-
onClick="this.form.submit
-
<form action="#">の意味とは?
-
confirm()で表示したダイアログ...
-
処理の構想が知りたいです
-
submitがおされた同時に JavaSc...
-
HTAで、こんなボタンが作りたい。
-
ボタンを動的にdisabledさせた...
-
イントラマート
-
【掲示板の機能】投稿時にサイ...
-
確認ダイアログの出し方(JavaS...
-
送信フォームで送信ボタンをお...
おすすめ情報