2010-12-29 5 views
0

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

<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, и есть огромные различия. Markup в 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> 

Этой наценка не только неправильно, его даже не оказывающим виде тега на всех. Я проверил и перепроверял мои CSS и DOM-структуры, но Firefox просто хочет открутить макет.

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

+0

Должно возникнуть проблема с вложением. Даже разметка Chrome недействительна: тег формы закрывается сразу после открытия тега. Не могли бы вы проверить исходный вывод, который получает браузер? – Heikki

+0

@heikki: вам нужно прокрутить вправо, чтобы увидеть полную разметку. – dhruvbird

+0

@ved: Пожалуйста, можете ли вы опубликовать вывод, который видит браузер? щелкните правой кнопкой мыши> просмотр-источник – dhruvbird

ответ

0

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

Смежные вопросы