検索
カレンダー
2019年9月
« 4月    
1234567
891011121314
15161718192021
22232425262728
2930  
ブログメニュー
Amazon検索
キーワード:

jQueryをIE8で使う際にFORMがおかしくなる

2012年3月27日

jQueryを使っていてIE8でのみフォームがおかしくなる現象が発生したのでメモ。

formのactionにスラッシュで終わるURLを記述し、
$(“#wrapper”).html($(“form”).html());
みたいな感じでhtmlメソッドで内容をコピーしようとすると、
なぜかIE8でのみformの中が空扱いになってしまいます。

コピーされるHTMLを追いかけて表示してみました。

元のコード

<form action="/hoge/fuga/"> 
...
</form>

$(“form”).html()で取れるコード

<FORM action=/hoge/fuga/>
...
</FORM>

$(“#wrapper”).html($(“form”).html()).html()で取れるコード

<FORM action=/hoge/fuga></ FORM>
...
</FORM>

解りますかね?
そうです。action属性にあるURLの最後のスラッシュを、タグを閉じるスラッシュだと勘違いするのです。
なんという駄目仕様。
ちなみに、IE7やIE9では発生しません。

回避方法ですが、代入にはDOMのinnerHTMLを使えばこの現象は発生しないようです。

$("#wrapper").get(0).innerHTML = $("form").html();

もちろん、$(“#wrapper”).get(0)ではなくて、document.getElementById(“wrapper”)でも大丈夫です。

コメントはまだありません »

コメントはまだありません。

TrackBack URL : http://www.meibinlab.jp/nishijima/archives/137/trackback

コメントする