Я приложил скриншот двух страниц рядом. С левой стороны элемент формы в правом верхнем углу загружается как часть полной страницы и полностью стилизован с помощью стилей Bootstrap в твиттере для серого well
, form-inline
и т. Д.
Справа форма загружается с помощью вызова ajax, код:
function load(element, id){
$.get("/lazyLoads/" + id, function(data){
$(element).replaceWith($(data.childNodes))
})
}
И вы можете видеть, что форма не получает большинство стилей начальной загрузки. Помимо того, что это выглядит как собачья рвота, в Инспектирующем элементе вы можете ясно видеть, что он не соответствует большинству правил CSS Bootstrap.
самый ? Да, большинство , но не все: кажется, что оно соответствует стилю Bootstrap form
, но, похоже, оно не подбирает стили .form-inline
или .well
! Страница довольно проста и HTML (почти) все для вас, чтобы увидеть. Кроме того, я не могу поместить курсор в текстовые поля, чтобы начать печатать на странице Ajaxed.
Помимо этой странности CSS, единственное отличие состоит в том, что на странице Ajaxed удалены теги <script>
, как и следовало ожидать от вставки Jquery.
Это очень загадочно для меня. Протестировано в Chrome и Firefox с идентичным поведением. Также протестировано с insertBefore
, before
, insertAfter
, after
, каждый из которых имеет одинаковое поведение. Кто-нибудь знает, что может быть причиной этого?
РЕДАКТИРОВАТЬ: Все еще не удалось заставить демо работать (попытка развернуть приложение Play 2.0 не тривиально), но вот еще один симптом:
Если на правой странице (без стилей) на панели «Проверить элемент» я щелкаю правой кнопкой мыши тег <form>...</form>
и выбираю [Изменить как HTML], не вносить никаких изменений и выходить из режима редактирования, стили сразу появляются и <form>
внезапно выглядит как форма слева! Ясно, что HTML-код в порядке.