2009年7月9日木曜日

Javascript onChange 使用時のキャンセル処理で2回が効かない

onChange で変更された時に、値をチェックする場合に

return false

でキャンセルで処理を抜けるというプログラムを作成した場合
一度目は期待通りの処理がされるが連続して同じ処理をさせようと
するとうまく動かない場合がある。

どうしてなのか分からず探してみたのだがこういう情報を見つけた。

http://support.microsoft.com/kb/216435/ja


IEでの作動だったのだが、どうやらonChange ではフォームの
再読み込みがもしくはリセットされなければキャンセルされたままだという。

そこでキャンセル処理を含ませる場合のイベントは

onBlur

で行う。

onChangeとonBlurの挙動はネットでいやというほど出て来るので
割愛しますが、用途を踏まえて使用したほうが良い。

ちなみにonBlurでもonChangeに相当する動作は出来ます。

0 件のコメント: