検索
カレンダー
2019年6月
« 4月    
 1
2345678
9101112131415
16171819202122
23242526272829
30  
ブログメニュー
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

コメントする