Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   http://gigalit.info - Мои контакты (https://javascript.ru/forum/project/23648-http-gigalit-info-moi-kontakty.html)

Маэстро 01.12.2011 20:37

Цитата:

Сообщение от da_ff (Сообщение 140177)
Маэстро,
Можно табиндекс задать не диву, а инпуту...

-да тут наши мысли совпали :)

trikadin 01.12.2011 20:37

Цитата:

Сообщение от da_ff
Так и проверка не будет на это ругаться, в чем же проблема?

А смысл тогда в ней?)

da_ff 01.12.2011 20:48

trikadin,
Чтобы плохой человек не засрал нам базу левыми значениями.

Маэстро 01.12.2011 20:56

Я рад что пошла дискуссия, но всё же позволю себе ограничить зону разговора. Почему-то все "прицепились" к третьему пункту - обязательным полям ввода. Хотя я хотел привлечь внимание специалистов к первому.
Об обязательных полях скажу только последнее. С моей стороны речь идёт не о регистрации на сайте/в базе/в системе с вводом логина и пароля. Тут спору нет. Речь идет о повседневной рутинной работе с таблицами и карточками ввода в которых я рекомендую отказаться от модальности и обязательных полей.

А обсудить я просил бы вас механизм, заменяющий <table>. Скорее это даже то, что называется Grid. Или теперь уже WebGrid.
Скажу честно, в начале проекта я тоже использовал <table><tr><td> ... Но потом увидел, что в броузере при приличной нагрузке это всё умирает.
Поэтому я обратился к нашим "веб-учителям". Кратко приведу результаты:
1. Гугл. Его документы http://docs.google.com
Их таблица по-умолчанию показывает 100 строк и её расширение производится квантованно по 20 строк по нажатию спец. кнопки.

2. Майкрософт. Их типа Microsoft Office Online. http://live.com
Их таблица хотя и позволяет скроллировать вниз типа до бесконечности, но в их же родном IE это торрмозит ужасно! (в Google Chrome работает побыстрее)

3. TeamLab. http://www.teamlab.com
Их таблица при скроллировании вниз вываливает на экран транспарант "загрузка", затеняет серым всё остальное и блокирует работу программы на несколько секунд, пока грузятся абсолютно ПУСТЫЕ строки. И это при каждом перемещении к следующей пачке пустых строк.
Да, забыл сказать, что в IE они просто сразу отказались работать.

Когда я посмотрел внутренности этих продуктов, то понял, что эти наши учителя, гиганты мысли наступили на те же грабли, что и я. Все они использовали teg <table>.
После этого я пошел по другому пути.
Однажды вспомнил слова Хопперфильда. Несколько переиначивая их на свой лад произнесу: Я не создаю на экране таблицу. Я создаю иллюзию таблицы!
Результат предоставляю на Ваш суд.

Маэстро 01.12.2011 21:03

Цитата:

Сообщение от da_ff (Сообщение 140178)
Почему вы использование таблицы сводите к этому частному случаю?

Простите, а вот здесь я даже не знаю что Вам ответить... потому что частный случай... гм... Но всё же попытаюсь.
По-моему это всё равно что считать MS Excel частным случаем. Но лично я знаю массу людей, которые ведут совсем нечастный учет в электронных таблицах Эксель. И теперь хотят это в вэбе. И сплошь и рядом и всё больше и больше. По крайней мере так в Киеве.
А что Вы называете НЕ частным (а общим) случаем? Использование <table> для вёрстки картинок фотоальбома? Или отображения списка товаров из 30 позиций?

B~Vladi 01.12.2011 21:21

Цитата:

Сообщение от Маэстро
какой свой альтернативный «вариант подачи» имели ввиду Вы.

Я не предлагал "своих" вариантов, но могу попробовать. Твой интерфейс, как ни странно, напоминает десктопный, а если точнее - MS Exel. Я понимаю, что это сделано намеренно, но Web != Desktop, что отражается и в интерфейсах в частности. Это что касается визуального восприятия. Что касается функционального, то для вашей задачи больше подошел бы не-табличный вариант. Если бы ты писал свой phpMyAdmin, я бы тебе огромное спасибо за это сказал, но контакты - немного не тот случай.
Например, я указал Home page, профиль в соц. сети и телефон в каком-либо контакте. При просмотре мне было бы удобнее кликом перейти на указанные урлы, позвонить на телефон со skype, посмотреть адрес на карте. Так же мне было бы намного удобнее открыть контакты одного человека на отдельной странице или popup-е, что бы другие не мешали.
Список всех контактов неплохо было бы представить... гм... списком.

Хочу поделиться своими мыслями насчет тега table и больших таблиц. Тег table идеально подходит для табличных данных, т.к. реализует необходимое поведение своих данных. Так уж сложилось, что необходимое нам поведение требует больше ресурсов, что сказывается на скорости рендеринга всей страницы. Что бы такого не происходило нужно пересматривать интерфейс, а не убивать тег. По личному опыту могу сказать, что далеко не один тег table приводит к замедлению отклика.

trikadin 01.12.2011 21:27

Цитата:

Сообщение от da_ff
Чтобы плохой человек не засрал нам базу левыми значениями.

Так я не говорю про проверку на какие-нибудь sql-инъекции или просто левые фигни.

Просто пользователя в его ошибки тыкать носом не нужно. Мягче надо быть, мягче...

Mightyraven 01.12.2011 21:29

Классная вещь полезная и дизайн легкий и удобный.
Сколько времени на такой проеке ушло???

trikadin 01.12.2011 21:34

Маэстро, я тут знаете что подумал? У вашего примера есть одна сокрушительная проблема - он абсолютно не поддерживает кнопки. Стрелки, табуляция, home/end... Не работает. :(

Бухгалтера негодуют.

И это... Я хочу увидеть таблицу на тысячу строк - вашу версию... Вы меня заинтриговали.

Маэстро 01.12.2011 21:51

Цитата:

Сообщение от B~Vladi (Сообщение 140190)
но Web != Desktop

кто Вам сказал? а может давайте смотреть не в прошлое, а всё же в будущее? как расшифровывается html Вы знаете. ключевое слово "текст". когда это изобрели не предполагалось, что даже картинки будут отображаться! а вы думаете что стандартизаторы думали о многотысячных таблицах? -сомневаюсь. я ещё помню, когда скорость канала была 1200 бод. в свою очередь приведу такой аргумент: компания Гугл разработала свою веб-ОС. по сути это есть не что иное как один интернет-браузер. и он же десктоп. и вся большая часть этой операционки грузится по требованию пользователя из инета частями. и это внедряется по всей планете в нетбуках...

Цитата:

Сообщение от B~Vladi (Сообщение 140190)
Если бы ты писал свой phpMyAdmin, я бы тебе огромное спасибо за это сказал

да, phpMyAdmin - это одна из причин, которая побудила меня к разработке. а ещё возьмём для примера (ткнём) в пять первых попавшихся инет-магазинов. что видим? порционный список товаров на базе <table>, причем в каждой товарной ячейке обязательное наличие кнопки "в корзину"/купить/заказать/оплатить/просмотреть/увеличить/ответить и т.д. и т.п. -это юзабельно? и это лучше десктопа, когда для каждой записи существует только одна кнопка, а операцию она производит только с той записью на которой стоит курсор. ну и соответственно, чтобы посмотреть ещё порцию товара надо нажать ещё кнопочку - перегрузится вся страница сайта и т.д....

Цитата:

Сообщение от B~Vladi (Сообщение 140190)
но контакты - немного не тот случай.
Например, я указал Home page, профиль в соц. сети и телефон в каком-либо контакте. При просмотре мне было бы удобнее кликом перейти на указанные урлы, позвонить на телефон со skype, посмотреть адрес на карте. Так же мне было бы намного удобнее открыть контакты одного человека на отдельной странице или popup-е, что бы другие не мешали.
Список всех контактов неплохо было бы представить... гм... списком.

тут говорить можно много. скажу только, что упоминаемый здесь движок
позволяет на моём "десктопе" смотреть контакты одного человека на типа на "отдельной странице". и страницы эти выстраиваются рядом с кнопками управления типа таскбар в Windows.

Цитата:

Сообщение от B~Vladi (Сообщение 140190)
Так уж сложилось, что необходимое нам поведение требует больше ресурсов, что сказывается на скорости рендеринга всей страницы. Что бы такого не происходило нужно пересматривать интерфейс, а не убивать тег.

вот именно. пересматривать интерфейс. про убиение тега я ничего не говорил. я говорил про его НЕиспользование (для целей, обсуждаемых в этой теме). в конце концов, всегда будут начинающие программисты, которые начнут с alert('Hello World') и с тега table. тут не спорю.


Часовой пояс GMT +3, время: 19:46.