我收到了RJS错误:TypeError:使用ajax时元素为null。
我在视野中使用
<%= 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 !@chats.blank? && !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 %>
我的div存在于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>
感谢任何帮助。
此致
Salil Gaikwad
答案 0 :(得分:4)
我发现它为什么会发生,因为我没有正确地关闭“chat_area”之上的div。 我唯一做的就是关闭div,它就像魔法一样 感谢所有
Reagrds,
Salil Gaikwad
答案 1 :(得分:1)
这意味着RJS正在尝试操作不存在的html输出中的某些内容。
看起来问题是您要更新user_list
,但html中存在该ID。确保您正在渲染它,同时确保将update
方法中的periodically_call_remote
属性设置为您要更新的元素的ID。
periodically_call_remote(:url => { :action => 'get_user_list' }, :update => 'get_user_list')