2010-03-19 26 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')