Rails 4: Submit button not responsive after its been reloaded by Ajax -


i have partial in user show page

          <div id = "aboutmejs">             <%= render "about_me" %>           </div> 

the _about_me.html.erb partial is:

     <% unless @user.about.blank? %>        <div class = "headerrow">         <span class="glyphicon glyphicon-user aboutme" aria-hidden="true"> </span>         <div class = "header">about <%= about_me_variable %>         <% if current_user == @user %>               <a class = "profileedit" id = "aboutmeedit">edit</a>         <% end %></div>         <div class = "aboutme"><%= @user.about.html_safe %></div>       <%= render 'about_me_change' %>      </div>     <%end %> 

this contains partial: _about_me_change.html.erb (not sure if idea - new rails):

 <div id = "aboutmeform">   <div class = "usereditsjs">     <%= simple_form_for(@user, html: { multipart: true }, remote: true) |f| %>     <%= f.text_area :about, class: 'form-control', :id => "edit" %>   </div>      <%= f.submit "update", class: "btn btn-success aboutmeupdatebutton", id: "thirdupdate" %>  <% end %>  </div> 

finally my: about_me.js.erb

   $('#aboutmejs').html("<%= escape_javascript(render('about_me')) %>") 

the user_controller update action allows updates via ajax

   def update      respond_to |format|        if @user.save         flash.now[:success] = "profile updated"         format.html { redirect_to @user }         format.js { render 'about_me'}        else         flash.now[:danger] = "there problem update"         format.html { redirect_to user_path(@user) }         format.js        end      end    end  end 

this works fine once. if try update - submit button, reloaded after first update unresponsive. have seen other questions similar in setting of php , when submit button handled jquery (use "on" instead of "click") not in rails setting.

why button not submitting second time?

perhaps reason in wrong html. about_me_change partial may this:

<div id="aboutmeform">   <div class="usereditsjs">     <%= simple_form_for(@user, remote: true) |f| %>       <%= f.field :about, as: :text %>       <%= f.button :submit %>     <% end %>   </div> </div> 

pay attention simple_form_for method receives block inserted <form> tag. have open , close <div> on same nesting level.

after first update, javascript replace part of form includes leader <form> , not include </form>.

p.s. multipart: true automatically added when it's needed.

p.p.s. use simple_form gem may use f.field instead of f.text_field method, , f.button :submit instead of f.submit. see documentation details


Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -