3

我的影片包裹在一個div id爲content形式:內容在Internet Explorer中使用jQuery AJAX更新消失

<div id="content"> 
    <%= render :partial => 'shared/signup' %> 
</div> 

共享/ _signup.html.erb包含:

<%= form_tag sign_me_up_path, :remote => true do %> 
... 
<% end %> 

如果用戶提交表單並出現錯誤,我渲染的create.js.erb僅包含:

$("#content").html("<%= escape_javascript(render :partial => 'shared/signup') %>"); 

With int ernet資源管理器會簡單地刪除#content中的所有內容,但它在所有其他瀏覽器中都很有用。我會很感激任何幫助/見解。

+0

如果您執行`$(「#content」)。html('foo')`,會發生什麼? 'foo'出現在'#content'還是div仍然爲空?你在IE中安裝了JavaScript調試工具嗎?你可以檢查AJAX調用的響應嗎?如果是這樣,`「<%= escape_javascript(...)%>」`應該可能只是一串html標記。你看到了什麼? – Samo 2010-12-22 19:58:59

回答

2

我使用的是相同的圖案 - 遠程表單提交,JavaScript的響應這使得部分和填充使用jQuery一個div的HTML (1.4.4)。我在IE中看到了同樣的行爲,但事實證明這是由於HTML部分中的拼寫錯誤造成的。

其他瀏覽器在處理未封閉的跨度標記方面更好。我懷疑你有一個類似的問題 - 驗證你的部分呈現的HTML。

-1
+0

我懷疑這是他的問題。本文介紹的是在AJAX調用之後不會觸發的回調。他沒有任何回調,因爲他的控制器只是渲染一個js.erb模板... – Samo 2010-12-22 19:53:52

+0

@Samo,我認爲這是值得給詹姆斯一些探索路徑,找出它爲什麼不工作。我做了一些關於IE和內容不渲染的問題,並且http://www.stjhimy.com/posts/7-creating-a-100-ajax-crud-using-rails-3-and-unobtrusive-javascript,特別是摘錄「Ps1:它使用html5來創建我們的表單和鏈接遙控器(:remote => true),所以它不會在任何版本的INTERNET EXPLORER中工作。」讓我相信,可能值得探索遠程鏈接和IE之間的現有問題。就我個人而言,我認爲這是一個有用的答案。 =) – clemensp 2010-12-22 20:34:21

相關問題