开发者

RJS error: TypeError: element is null

I got RJS error: TypeError: element is null while using ajax.

I used in view

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

in controller

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

in partial 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 %>

My div present in 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>

Any help is appreciated.

Regards,

Salil Gaikwad


I find it out why it happens because I didn't close div above the "chat_area" properly. the only thing i did isclose the div and it works like a magic, neways thanks to all

Reagrds,

Salil Gaikwad


This means that RJS is attempting to manipulate something in html output that doesn't exist.

It looks like the problem is that you want to update your user_list but nothing with that id exists in your html. Make sure you are rendering that, also make sure you have the update attribute in your periodically_call_remote method set to the id of the element you want to update.

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜