2011-08-07 8 views
9

一部のHTMLを取得するためにAJAX POST呼び出しを行っています。私はそのHTMLをとり、それをDOMに注入します。 IE < = 8を除いて、すべてのブラウザですべてがうまく動作します。私はコンソールにログオンすると、タグが大文字であるため、IEが着信HTMLを解析しているようです。IE <= 8は、AJAXから受信したときに<form>タグを削除します。

ライン、それは削除です:

<form class="uniForm" enctype="multipart/form-data" action="/profile/editprofile/" method="post"> 

終了タグがありますが、開始タグではないので、非常に奇妙な。この呼び出しは標準のjQuery POST($ .post())です。

UPDATE:あきらめおよび埋め込みテキストエリアに置くとDOMに再注入することになった

<!--[if lt IE 9]> 
<textarea class="ieHackTextArea"> 
<!--[if lt IE 9]> 
<![endif]--> 

...どこか...

if ($.browser.msie && parseFloat($.browser.version) < 9) { 
    ui.panel.innerHTML = $(".ieHackTextArea").val(); // jQuery injection doesn't work 
} 
+0

がIE7へのアクセスを制限: あなたは、IEのuserAgentには、(DおそらくMiscrosoft internextExplorer)文字列MSIEを運ぶ可能性が高いだろう、ここでhttp://www.useragentstring.com/pages/Internet%20Explorer/

を参照することができますブラウザ:p – genesis

+0

これが動作する唯一のIEはIE 9です! IE 7も機能しません。 – brandon

答えて

1

すべてのフォームを<div>にラップして、それがうまく機能するかどうか確認することができます。

私は<input>オブジェクトで同じ問題を経験しました。これはIE8で正常に動作することを確認するための私のソリューションでした。

12

今日はまったく同じ問題に遭遇したと<form>の除去から何とかIE8を停止<form>前に、空の<pre></pre>権利を、(他のバージョンでテストしていません)を挿入して、それを修正するために管理。

+2

これで一日中戦っていましたが、前回のケースではdivでラッピングしていましたが、今度はそれができませんでした。 –

+0

私はこれが実際に働いたとは思えません。ショックだ。 IE9 –

0

私はまったく同じシナリオを持ち、同じ問題がわずかにあります。私はinput type = hiddenタグ、formタグを削除しました。 これが起こっている理由は見つかりませんでした。昨年8月以来誰もこの問題について新しいことを見つけましたか?

また、divタグでフォームをラップしようとしましたが、何も変更されませんでした。テキストを書くか$ nbsp;フォームタグの上の行で、フォームがレンダリングされます。

私はこの問題がIE7にもあることを確認できます(問題がある場合)。

0

解決策は迅速かつ簡単です。フォームタグのaction = ""属性(ちょうどURL)の最後のスラッシュを削除してください。

例:

WRONG(IE)

<form action="http://mywebsite.com/something/"> 
</form> 

CORRECT

<form action="http://mywebsite.com/something"> 
</form> 

のみ= "" フォームアクションの最後にスラッシュを除去します。

0

javigatorハンドラの中でnavigator.userAgentを使用してブラウザを識別し、suiatbleロジックを適用します。それは "CSSのハック"に比べてまっすぐです。基本的には

if(navigator.userAgent.indexOf('MSIE 7.0') > -1){ 
 
    /* Do watever suitable for IE7 here */ 
 
}else if(navigator.userAgent.indexOf('MSIE 8.0') >-1){ 
 
    /* Do watever suitable for IE8 here */ 
 
}else{ 
 
    /* The rest... */ 
 
}

関連する問題