Rails3 で jquery-ujs だと IE で :disable_with が効かないよって話

jquery-ujs は、jQueryRailsJavaScript の機能を使うモノ。

Rails では二重クリック防止のために、クリックしたら disabled になるようにこんなオプションがある。

<%= submit_tag '送信', :disable_with => '送信中…' %>

だが jquery-ujs を利用した環境でこう書くと、IE ではサブミットボタンが「送信中…」になるだけで、リクエストは送信されない。
これは jquery-ujs でも jQuery でもチケット登録されてる。

追記: 精査しましたが↓のパッチはまずいですね。いろいろ副作用がありすぎます。結局 :disable_with じゃなく :confirm にしてしまいました。 prototype.js にできればその方がいいかも。


現状ではパッチを書いた人がいて、この人のツリーの jQuery を使えばとりあえず IE でも動く。

今後の本家の対応に期待(?)