RJS error: TypeError: element is null
Solution 1
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
Solution 2
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')
Salil
I'm a software engineering graduate from Nagpur University (BE) with good academic standing and strong professional experience. 12 year experience in Ruby, Ruby on Rails. Profound knowledge of working with dynamic and database-driven websites and services. Very solid understanding of Web 2.0 technologies HTML, XML, CSS, jQuery, jQuery-UI, Ajax and JavaScript. Knowledge of distributed revision control system like Git. Experience working with like PostgreSQL and MySQL database. Experience in Elastic Search Engine. Knowledge of NoSQL such as MongoDB. Experience with Agile, Iterative, and Test-Driven Development methods
Updated on June 04, 2022Comments
-
Salil almost 2 years
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 [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 %>
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