モノノフ日記

普通の日記です

prototype.jsのAjax.Updaterでつまずいた

textareaのIDを指定してもIEではインサートされませんでした。

Firefoxでは普通に動いてます。

ちょっとググってみたらすぐに発見しました。

はまろぐ - prototype.jsの話


IEでAjax.Updaterが動かない : Nacky - Snowland.net

prototype.jsを上記サイトのように変更してやれば動くそうなんですが、

symfonyJavascriptヘルパーからだと書き換えてもダメだったので結局Ajax.Request使って対応しました。

下のような感じでやればAjax.Requestが呼ばれます。

配列内に'update'要素があるとAjax.Updaterに自動に変わるみたいです。

そこらへんの自動認識はsymfonyすげぇ。

<?php echo form_remote_tag(array(
'url' => 'api/index',
'loading' => "Element.show('indicator')",
'success' => "Element.hide('indicator')",
'complete' => "showResponse(request),createTable(request)")
) ?>
<?php echo javascript_tag("
function showResponse(request) {
$('result').value = request.responseText;
}
")?>

しかし、今日1日のほとんどがIE対応で潰れた・・・orz