- ベストアンサー
<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>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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>
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
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">
お礼
どうもありがとうございした。 最終的には違う形で解決しましたので、お知らせしておきます。 過去の経緯でformタグにactionの記述がない形になってましたが、 ボタンにつけているjavascriptをactionに指定、ボタンはtypeを buttonからsubmitに変更することで、keycodeを調べるロジック なしでもIE/firefoxとも同じ動きをするようになりました。 おふたりに教えていただいた方法は、また別のところで使え そうです。
お礼
ありがとうございます。IEでは動くようになりました。firefoxでも 動かしたいので方法がわかるようでしたら、お願いします。