• ベストアンサー

<input> タグテキストフィールドでのretrunの処理

以下のような<form>があります。この中のfreekey2のテキストエリア に入力した後に、enterキーを押した場合にも、javascript:query()を 動かしたいのです。<input>タグに何らかのイベントハンドラを つけるのでしょうか。よろしく、お願いします。 <form> <table> <tr> <td><select name="period"> <option value="all" selected>全て <option value="2006">2006 </select></td> <td><input type="button" value="検索" onclick="javascript:query()"></td> </tr> <tr> <td>キ-:<select name="freekey"> <option value=".*" selected>すべて <option>ああああ <option>いいいい </select> <input size="20" name="freekey2" type="text"> </td> </tr> </table> </form>

質問者が選んだベストアンサー

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

keydownイベントでENTERかどうか判定するといいかと思います。 function onKeyDown() { if( event.keyCode == 13 ){ query(); return false; } return true; }  :  : <td><input type="button" value="検索" onclick="javascript:query()" onkeydown="return onKeyDown()"></td>

fire--
質問者

お礼

ありがとうございます。IEでは動くようになりました。firefoxでも 動かしたいので方法がわかるようでしたら、お願いします。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

window.onload=function(){ document.getElementById("word").onkeypress=function(e){ e = (e)? e : window.event; if( e.keyCode == 13 ){ query(); return false; } return true; }; }; … <input size="20" name="freekey2" type="text" id="word">

fire--
質問者

お礼

どうもありがとうございした。 最終的には違う形で解決しましたので、お知らせしておきます。 過去の経緯でformタグにactionの記述がない形になってましたが、 ボタンにつけているjavascriptをactionに指定、ボタンはtypeを buttonからsubmitに変更することで、keycodeを調べるロジック なしでもIE/firefoxとも同じ動きをするようになりました。 おふたりに教えていただいた方法は、また別のところで使え そうです。

関連するQ&A