2010-03-19 42 views
2

我得到RJS錯誤:TypeError:使用ajax時元素爲空。RJS錯誤:TypeError:元素爲空

我鑑於

<%= periodically_call_remote(:url=>{:action=>'get_user_list', :id=>'1'}, 
:frequency => '5') %> 

應用於控制器

render :update do |page| 
    page.replace_html 'chat_area', :partial => 'chat_area', :object => [@chats, @user]  if @js_update 
    end 

在局部chat_area

<% if [email protected]? && !show_div(@chats).blank?%> 
    <% show_div_id=show_div(@chats) %> 
    <% for chat in @chats %> 
     <div class="popup" id="chat_area_<%= chat.id %>" 
style="display:<%= (chat.id == show_div_id)? 'block' : 'none' %>;"> 

     <% form_remote_for(:chat, :url => {:controller=>'chats', 
:action=>'create', :id=>1}, :html=>{:name => "form_#{chat.id}"}, 
:complete=>"resetContent('#{chat.id}');") do |f| %> 
     <div style="display:none;"> 
      <%= f.hidden_field :sessionNo, :value=>chat.sessionNo %> 
      <%= f.text_area :chatContent, :id=> 
"chatContent_field_#{chat.id}", :cols=>"100", :rows=>"6", 
:onKeyPress=>"return submitenter(this,event);" %> 
      </div> 
      <input type="image" src="images/chat/send-hover.png" 
value="Send" onclick="return submit_button('<%= chat.id %>')"/> 
     <% end %> 
     </div> 

    </div> 
    <% end %> 

<% else %> 
     <div class="popup" id="chat_area_none" style="display:'block';"> 
      <input type="image" disabled ="disabled" 
src="images/chat/send.png" style="cursor:default;" value="Send" /> 
     </div> 
<% end %> 

我的格中存在的index.html.erb

 <table border="0" width="100%" cellspacing="0" cellpadding="0"> 
     <tbody><tr> 
      <td align="left" width="80%" valign="top" style=""> 
       <%= text_area :chat, :chatContent, :id=> "chatContent_field", :cols=>"100", :rows=>"6" %> 
      </td> 
      <td align="left" width="20%" valign="bottom" style="padding-left:10px;padding-left:10px;x" > 
       <div id="chat_area"> 
       <%= render :partial => 'chat_area' %> 
       </div> 
      </td> 
      </tr> 
     </tbody> 
     </table> 

任何幫助表示讚賞。

問候,

薩里爾Gaikwad

+0

元素爲null,意味着在頁面上DOM元素的返回的JavaScript試圖訪問無法找到。我無法立即看到問題,但這是錯誤的含義。 – Apie 2010-03-19 06:22:23

回答

4

我發現它爲什麼會發生,因爲我沒有正確關閉「chat_area」之上的div。 我唯一做isclose div和它就像一個魔術, 感謝所有

Reagrds NEWAYS,

薩里爾Gaikwad

1

這意味着RJS試圖操縱HTML輸出的東西,不存在。

它看起來像問題是你想更新你的user_list但沒有與該ID存在於你的HTML。確保您正在渲染該圖像,並確保您的periodically_call_remote方法中的update屬性設置爲您要更新的元素的ID。

periodically_call_remote(:url => { :action => 'get_user_list' }, :update => 'get_user_list')