Контакты

Достижения

Все достижения (8)

Наибольший вклад в теги

Все теги (49)

Лучшие ответы пользователя

Все ответы (144)
  • Кто как делает html формы?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Современная форма - это комплекс решений, в разных областях. И поставить один модуль который решит проблему - не возможно в принципе. Каждый специалист может собрать свою часть. Но без архитектора который скажет как это скрутить в кучу, будет велосипед с квадратными колесами - ехать можно но по специальной дороге.

    1. Разметка:
      • пишу всегда вручную;
      • длинные селекты тянутся из базы посредством шаблонизатора (например серверного TWIG);
      • прописываю полностью с атрибутами валидации HTML5 (благо все современные браузеры потдерживают);
      • выдумывать JS-велосипеды для валидации не стоит уже давно;
      • для зависимых полей пока есть простой js-клаcс сверяющий их.
      • drag&drop файлов давно уже работает без JS;
      • для подгрузки изображений в страницу на стороне клиента js-класс.

    2. Стили:
      • один раз прописаны стили для разных-форм на уровне тегов и взаимоотношений тегов (в итоге все формы на сайте виглядят в одном стиле);
      • класы только для самой формы, определяет как одна выводится: локально, модально или в теле контента;
      • кому сложно написать 300 строчек CSS, пользуйтесь фреймворками;
      • ни в коем случае не делайте стили форм для каждого раза как онные встречаются (придет дядя даст по рукам :) ).

    3. Отправка:
      • пользуйтесь action, submit и target;
      • нужны данные как модальное окно есть iframe;
      • ajax с формами не использую он изначально предназначен для другого:
        • для подгрузки полей в селектор, но только если селектор очень большой;
        • для поиска налету.


    4. Сервер:
      • использую специальный статический класс, который делает валидацию и XSS/injection-очистку;
      • как минимум PDO с подготовленными запросами;
      • Doctrine;

    5. База-данных:
      • наименования полей в базе соответствуют наименованиям полей в формах (с префиксом);

    Ответ написан
  • Как правильно понять этот сложный код?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Учи матчасть...

    /* Функция асинхронной загрузки хеадера */
    function getHeader() {
      $.post('modules/constructor.php',     /* Аппелируем к серверному скрипту по указаному адресу */
          { 'action': "header", 'lang': lang },   /* Передаем параметры на сервер */
           function(data) {                            /* Callback - параметр анонимня функция. Вызывается при удачном запросе */
              $('div#header')                          /* Выбираем #header - но правильнее $('#header'), ибо 2 блока с одним id не правильно */
                 .empty().append(data);           /* Очищает выбраный блок и дописывает к нему полученные данные */
           	}
          ).done(function() {                         /* Событие выполняется после удачного выполнения запроса */
            getFooter()                                 /* Вызов запроса Fotter */
          })
    }
    
    /* далее аналогично но для footer */
     
    function getFooter() {
      $.post('modules/constructor.php',    
          { 'action': "footer", 'lang': lang },    
           function(data) {                            
              $('#footer').empty().append(data); 
           	}
          ).done(function() {
            getScriptHandF();              /* Здесь была синтаксическая ошибка: отсутствие замыкающего ";" */
            getContent(content)
          })
    }
    function getContent(cont) {
      $.post('modules/constructor.php', 
          { 'content': cont, 'lang': lang, 'device': devi },
           function(data) { 
              $('#content-wrapper').empty().append(data); 
           	}
          ).done(function() {
    
    /* Далее человек питался сделать прелоадинг картинок. НО! */
    /* Картинки уже начались загружатся после  выполнения
     колбеков из загрузок getContent, getHeader, getFoоter */
            var paths  = [];                  /* Готовим массив для прелоадинга картинок */
            var images = $('body').find('img');    /* Выбираем все картинки */
            images.each(function() {                  /* Пробегаемся по всем картинкам */
              paths.push($(this).attr('src'));          /* Записываем ссылку на картинку в масив */
            });
             
            preloadImages(paths, function () {   /* Вызывает preloadImages Описания процедуры нет */
              $("html,body").animate({"scrollTop":0},200);  /* Анимирует скроллинг если страница прокручена на верх страницы */
              $('#preload').fadeOut(1000);   /* Анимирует прозрачность кроющего блока #preload */
              getScript();                              /* Вызывает getScript */
              if (cont=="home") getSlider(); /* Вызывает getSlider если страница домашняя */
            });
          })
    }
    Ответ написан
  • Кто-нибудь использует очки для компьютера?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Значит так комрады:
    Сижу за компом с 1989 года... по 8-16 часов в день. 2 месяца назад первый раз за 20 лет проверял зрение, проходил коммисию для водительских прав. Окулист был в шоке, зрение практически 100%.

    Не курю - очень важный фактор (муравьиная кислота разедает роговицу, сужение сосудов причина ндостаточного питания глазных мязов и т.д...). Так, что если курите будет только хуже, обмен свежего воздуха между глазом и очками снижается, и значит увеличивается концентрация муравьиной кислоты на роговице. В очках снижается общая подвижность глаза, а значит еще более снижается очистка и питание глазных мязов. Все болезни глаз в первую очередь от нарушения лимфатического и кровеносного обмена - это первопричина.

    Все другие факторы: освещеннось, тип монитора, длительность работы за компом - влияют на утомляемость, но никак на здоровье глаз. С возрастом просто критическая усталость у человека начинается раньше. Глаз это не слух, где идет механическая выработка. Это как механика и электроника - механика изнашивается, а электроника подвержена только радиационному воздействию. Сетчатку можно только сжечь ультрафиолетом или лазерным излучением например электро сваркой. А вот мышцы можно просто забить их же продуктами жизнедеятельности например молочной кислотой. И если лимфатическая система не чистит мышцы, будет спазм, а с очками он может стать хроническим и развиться косоглазие, дальнозоркость, близорукость или астигматизм. А если с кристалика будет плохой отток продуктов жизнедеятельности, то он потускнеет и будет катаракта.

    Для того что бы описанных выше являений не было, решение есть:
    • бросьте курить;
    • делайте зарядку для глаз, хотябы раз в день и при усталости (но лучше отдохнуть);
    • поставьте два монитора, тогда двигать глазами будете больше и будет лучше кровообращение и отвод лимфы (в очках ви будете двигать головой, а не глазами);
    • два раза в день по 1-му часу выходите на свежий воздух, например к турнику;
    Ответ написан
  • Используете ли вы витамины для "мозга"?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Модные витамины разводняк на деньги не ведитесь.

    Прирацетам (ноотропил - улучшает мембранное питание у нейронов, эффект минимум через месяц) + магний ( в основном бобовые, гречка, пшено Продукты богатые на Mg ) + комплекс витаминов B (Ундевит - лучший выбор, дешево и сердито). Можно "Магне-В6" если денег не жалко - но правильное питание им не заменишь.

    P.S. "Снековая диета" - к которой частые рецедивы у ИТишников сама по себе ВЕЛИЧАЙШЕЕ ЗЛО всех времен и народов.
    Ответ написан
  • Как подключить скрипт после загрузки ajax?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    jQuery.getScript()
    Делает запрос к серверу без перезагрузки страницы, с запросом javascript файла. При получении запрошенного файла, код внутри него будет автоматически выполнен. Метод имеет параметры:
    jQuery.getScript(url, [success(data, textStatus)]):XMLHttpRequestv:1.0
    url — url-адрес js-файла.
    success(data, textStatus) — пользовательская функция, которая будет вызвана после удачного выполнения загруженного js-файла.

    data — данные, присланные с сервера.
    textStatus — статус того, как был выполнен запрос.
    Примеры

    Запросим у сервера файл "test.js", который будет автоматически выполнен, как только загрузится:
    $.getScript("test.js");

    Загрузим файл и выведем сообщение, после его удачного выполнения:
    $.getScript("test.js", function(){
       alert("Скрипт выполнен.");
     });
    Ответ написан