Частично отрендерено в Firefox - PullRequest
0 голосов
/ 29 декабря 2010

Я пытаюсь создать скрытый div с частичками рельсов внутри. Я намерен использовать этот скрытый div в качестве цели для fancybox, чтобы открыть форму редактирования во всплывающем окне. Мой частичный код выглядит так:

<div style="display:none">
      <div id="inline-edit-form-<%=feed_item.id%>" class="inline-edit-form">
        <%= form_for (feed_item) do |f| %>
              <%=render :partial => 'calendars/form', :locals => { :f => f }%>
       <% end %>
       </div>
  </div>

Теперь в Chrome макет выполнен так, как задумано, а частичное изначально скрыто. Fancybox удастся отобразить этот фрагмент, если щелкнуть ссылку на источник и все работает нормально. Но в Firefox скрытый DIV по умолчанию не скрыт, и отображаются все элементы управления. Я проверил структуру HTML DOM на Chrome и Firefox, и между ними есть огромные различия. Разметка в Chrome (правильно):

<div style="display:none">
  <div id="inline-edit-form-596" class="inline-edit-form">
     <form accept-charset="UTF-8" action="/calendars/596" class="edit_calendar"   d="edit_calendar_596" method="post"></form>
  <div style="margin:0;padding:0;display:inline">
     <input name="utf8" type="hidden" value="✓">
     <input name="_method" type="hidden" value="put">
     <input name="authenticity_token" type="hidden" value="">
  </div>
  <div>
      <label for="calendar_event">Event</label><br>
      <input class="inline-edit-input" id="calendar_event" name="calendar[event]" size="30" type="text" value="Interesting event">
  </div>

Вышеуказанная разметка верна и соответствует ожиданиям. Шокирующая разметка в Firefox:

<div style="display: none;">
      <div class="inline-edit-form" id="inline-edit-form-598">
       </div>
</div>
<div style="margin: 0pt; padding: 0pt; display: inline;"></div>
<div>
    <label for="calendar_event">Event</label><br>
    <input type="text" value="Another interesting important event" size="30"  
           name="calendar[event]" id="calendar_event" class="inline-edit-input">
</div>

Эта разметка не только неверна, она даже не отображает тег FORM. Я проверил и перепроверил мою структуру CSS и DOM, но Firefox просто решил прикрутить макет.

Любая помощь?

1 Ответ

0 голосов
/ 29 декабря 2010

Спасибо за подсказку.Была одна ошибка проверки, которая исправила ошибку.Ошибка заключалась в том, что я был включен в таблицу.После перемещения скрытых элементов div вне таблицы проблема была решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...