Форма обновления не работает в таблице

голоса
0

Я пытаюсь использовать AJAX / Jquery добавлять, удалять и обновлять строки таблицы. В добавление и удаление функции работают нормально. Когда я пытаюсь обновить строку, хотя, форма не создает запрос патча (или что-либо сделать - никакой активности в журнале сервер, JS консоли или сетевой активности Для строки, пользователь нажимает на кнопку, чтобы заменить. строка с формой обновления, но при изменении данных в форме и пользователь нажимает представить ничего не происходит. когда я беру форму из таблицы, это работает. есть проблема с делать это в таблице? Спасибо за помощь !

Вот form_tag я использую.

<tr id = <%= site_#{@site.id} %>
 <%= form_tag site_url(@site.id), method: patch, remote: true, id: site_form_#{@site.id} do %>
 <td><%= link_to (image_tag @site.favicon), http://www.#{@site[:company].delete( )}.com, target: _blank %><%= text_field_tag :company, @site.company %></td>
 <td><%= text_field_tag :username_sb, (@site.username_sb.decrypt ENV['SB_DECRYPT']) %></td>
 <td><%= text_field_tag :pwhint_sb, (@site.pwhint_sb.decrypt ENV['SB_DECRYPT']) %></td>
 <% hidden_field_tag :id, @site.id %>
 <td><%= button_tag Submit, class: btn btn-inverse %></td>
 <td></td>
 <% end %>
</tr>

Здесь вся таблица она вставляется в.

<div class= row-fluid>
  <div class= span10 offset1>
    <table class=table table-hover table-condensed>
      <thead>
        <tr>
          <th>Company</th>
          <th>Username</th>
          <th>Password hint</th>
          <th> </th>
          <th> </th>
        </tr>
      </thead>
      <tbody>
        <tr id=add>
          <%= render 'form_new', :site => Site.new %>
        </tr>
       <% @sites_sort.each do |site| %>
     <%= render 'site', :site => site %>
    <% end %>
  </tbody>
</table>

Вот JQuery я использую, чтобы преобразовать строку в форму редактирования.

$('#site_<%= @site.id %>').replaceWith('<%= escape_javascript(render 'edit_one_form') %>');

Вот JQuery я использую, чтобы обновить представление. (Несмотря на то, что никогда не добраться до этого кода)

$ ( '# Сайт _ <% = @ site.id%>') ReplaceWith ( '<% = escape_javascript (делают 'сайт': сайт => @site)%>').

Задан 02/09/2013 в 19:35
пользователем
На других языках...                            


1 ответов

голоса
0

Разделение формы путем открытия и закрытия тд HTML теги предотвращала форму от представления должным образом после вставлен JS. Вместо этого, я вынес каждый сайт в качестве своей собственной таблицы, поэтому вместо того, функция обновления удалена одну таблицы, вставить форму на своем месте, и повторно вынесла обновленную таблицу с помощью JQuery / AJAX.

<table class="table table-hover table-condensed" id="site_table_<%= site.id %>">
  <tr class = "rowhover" id="site_<%= site.id %>">
    <td id="td_company_site" class="cell cell-vert-align"><strong>
        <%= link_to (image_tag site.favicon, class:"site_favicon"), "http://www.#{site.site.gsub("http://www.","")}", target: "_blank" %>
        <%= link_to " #{site[:company]}", "http://www.#{site.site.gsub("http://www.","")}", target: "_blank" %></strong>
    </td>
    <td id="td_username_site" class="cell cell-vert-align"><%= site.username_sb.decrypt ENV['SB_DECRYPT'] %></td>
    <td id="td_pwhint_site" class="cell cell-vert-align"><%= site.pwhint_sb.decrypt ENV['SB_DECRYPT'] %></td>
    <td id="td_edit"><%= link_to '<i class="icon-edit"></i>'.html_safe, edit_site_url(site.id), class: "btn btn-warning button-hover btn-small", remote: true %></td>
    <%= form_tag site_url(site.id), remote: true, method: "delete" do %>
      <%= hidden_field_tag :user_id, current_user.id %>
      <%= hidden_field_tag :site_id, site.id %>
    <td id="td_delete"><%= button_tag '<i class="icon-remove"></i>'.html_safe, class: "btn btn-danger button-hover btn-small", id: 'new' %></td>
    <% end %>
  </tr>
<table>
Ответил 26/02/2014 в 02:02
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more