• ベストアンサー

テキストボックスの値変更時のイベント

フォーム上のテキストボックスに、前の画面で入力したデフォルト値が表示されている状態で、テキストボックスの値を変更したらJavaScriptの関数でチェックさせたいと考えているのですがうまくいきません。 onChangeイベントは値を変更(例えば削除するなど)して、Enterキーを押すなりフォーカスを移すなりしないとイベントが発生しないので、変更されたら即座にチェックということができません 何かうまい方法はないでしょうか?

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

  • ベストアンサー
  • duckling
  • ベストアンサー率47% (88/185)
回答No.1

timeID = window.setInterval("TextChange();",1); で、常に function TextChange を呼び出し続けることで テキストの変化を監視することが出来ます。 監視を中止したい時は、 clearInterval = timeID; で止められます。 setInterval を使うと、ミスをした場合 無限ループに陥る可能性があるのでご注意下さい。 (alert表示などは特に、強制終了しか方法がなくなります。) setInterval を使いこなせるようになると プログラミングの幅が広がりますので、いい機会かも知れませんよ。 なにより、楽しいですし。(笑

参考URL:
http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=javascript+setinterval&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
dw3w
質問者

お礼

上記の方法でテキストボックスのチェックができました! ただ、Netscape4.75の場合、テキストボックスからフォーカスがいったん外れないと値の変更が監視できなかったため、onKeyupでいったんテキストボックスからblurしすぐにfocusしてからチェックするとうまくチェックできました! ありがとうございました!!

関連するQ&A