|
Модераторы: Illuminaty |
|
Aver78 |
|
||||||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
}
Через ajax добавляется в <div class='option'>
Если есть тег формы, то итог получается кривой. Заголовки расятгиваюся, строка сжимается. Если тега формы нет, то все в порядке. Но он мне нужен. Как победить ? |
||||||
|
|||||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Нужно посмотреть на получающуюся разметку в отладчике и все станет ясно.
Вероятно, одно из правил больше не соответствует своему элементу -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Да вроде никаких заблокированых свойств не нашел. Хотя попробовал в опере, вообще такая разметка не катит.
|
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Процесс называется отладка. Для примера - возьмем Хром, в нем все довольно прозрачно.
Правой кнопкой мышки кликаешь на том элементе, который выглядит неправильно и в контекстном меню выбираешь пункт "Просмотреть код элемента". Появится окошко отладчика в нем будет выбранный элемент и примененные к нему css правила. Если сделать тестовый пример, то можно будет дать более конкретные рекомендации -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Не понятно при чем тут отладка. Все это я смотрел, только в фф а не в хроме. Почему тег формы корежит разметку, и как этого избежать. Вот что я не могу понять. А что там перестало работать, по большому счету по фиг.
|
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Aver78, https://jsfiddle.net/go62ax05/ вот что такое тестовый пример. На нем не видно что происходит что-то неправильное. Каким образом кто-либо еще сможет определить что происходит?
P.S. первоначальная ссылка поправлена Это сообщение отредактировал(а) ksnk - 19.3.2018, 20:26 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
||||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Тег form вставляется не в .option, а почему то во второго чилда этого элемента, при этом логика "табличной" разметки ломается. Есть специальная функция в jQuery - wrap, возможно ее использование будет более удобным.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Тег форм не вставляется отдельно. он вставляется вместе со всей строкой. Я пробовал ставить form и до tr, и после tr (<div class=tr> понятно) и даже запихивать в первый div с td. Не помогает.
Wrap'оп тоже не помогает. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Э нет. Мне нужна обернутая каждая строка, а не вся таблица.
|
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
<form class="tr"> не поможет?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Не помогает, получается такое же, в точности, искажение.
Как то непонятно откуда это пошло. Раньше тегом форм можно было даже табличные tr оборачивать. Ну да ладно. Может стоит попробовать решить проблему шире. Суть в том, что требуется каждую созданную строку иметь возможность сохранить(как собственно, думаю, понятно из разметки). Сохранение идет с помощью $.ajax и .serializeArray(). this - это буттон в конце каждой строки соответственно. $(this).closest('form').serialize(); - такой запрос вполне корректно обрабатывется. Однако если попробовать не обьернуть form, то например если использовать таблицу и ориентироваться по tr то $(this).closest('tr').serialize(); - ни фига не обрабатывает, хотя $(this).closest('tr').html(); показывает что выдирается нужный кусок с полями ввода. Если обертывать tr таблицы, то, либо он не создается, либо браузер закрывает тег формы сам, сразу после открытия, а не там где прописано. Это собственно конечная задача, из который вылез гемморой с разметкой. В принципе можно, наверное, можно выдрать все возможные поля ввода, и их сериализировать. Но код при этом усложнится и серверный в том числе. Хочется этого избежать, ибо, как мне кажется, вопрос решаем. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Сериализуется на самом деле не форма, а элементы формы. Так что сработает такое
$(this).closest('tr').find('input, select, textarea').serialize() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Это как раз то, чего я хочу избежать. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Ты хочешь избежать именно того, о чем просишь?
https://jsfiddle.net/h3w9wzce/7/ В каком броузере не работает так? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Я хочу избежать выборки элементов формы путем перечисления всех возможных. например в фф. Если я копирую из браузера исходник и вставляю его на jsfiddle.net, то все показывает хорошо, но при динамичном создании такая же кривизна как с div. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
всех возможных - всего 3. Можно теоретически еще button приплюсовать, но его практическая ценность не особо велика.
https://jsfiddle.net/h3w9wzce/24/ ? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Угу, именно оно. Не поленился попробавл и не динамичное. Тупо вписал 1 строку с полями в исходник. При диве - все в порядке, при добавлении формы, или замене дива-тр формой - кривит, а тут - jsfiddle.net, да, показывает что все в порядке. Это сообщение отредактировал(а) Aver78 - 21.3.2018, 00:24 |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Получилось продвинутся? Кстати, в том примере, который по твоим ссылкам - не закрыт один из блоков div, возможно это что-то прояснит
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Забил пока что. Позже вернусь к этому вопросу. Пока поставил целиковые таблицы на каждую строку.
|
|||
|
||||
Mariia |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 7.4.2018 Репутация: нет Всего: нет |
Прошу прощения, но мне кажется это какой-то колхоз. Зачем использовать <div> в табличном формате, если во-первых есть таблицы, а во-вторых, нынче есть более приемлемые способы для манипуляции содержимым, нежели display: table.
Если приходится так колхозить, хорошенько задумайся о подходе! |
|||
|
||||
Aver78 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Прежде чем комментировать, неплохо бы прочитать. Вдруг в предыдущецй переписке указана причина такого подхода, например
|
|||
|
||||
Aver78 |
|
||||
Бывалый Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
В общем наступил на эти грабли в еще в одном месте и решил что лучший вариант пойти, таки, путем предложенным тобой где то ранее, то есть
На первый взгляд все не так страшно как мне думалось, но будем посмотреть что вылезет со временем. |
||||
|
|||||
OleksMone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.7.2019 Где: Dallas Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |