Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как правильно передать параметры через Ajax в action Kohana?

    dohlik
    @dohlik
    Вы путаете параметры роутера с параметрами query string ($_GET), которые вообще в роутинге не указываются и могут быть любыми или вообще отсутствовать. В данном конкретном случае id в роуте не нужен. А параметры lines и pages надо извлекать из запроса через $this->request->query(), как-то так:

    $data = array(
            'lines'    => (int)$this->request->query('lines') ?: 10,
            'pages'  => max(1, (int)$this->request->query('pages')),
        );

    Хотя я бы использовал более общепринятые параметры типа offset/limit или page/perpage. Более понятные названия, имхо.
    Ответ написан
  • Где можно получить доступ к базе бти?

    dohlik
    @dohlik
    Не знаю, что именно Вы хотите проверять, но возможно подойдет https://www.reformagkh.ru/. Там можно просто парсить информацию зданий или запросить доступ к их API.
    Ответ написан
  • Валидация для формы без перезагрузки страницы, как подключить проверку капчи?

    dohlik
    @dohlik
    1. Возвращаете обратно экшен, в котором проходила валидация и сохранение комментария (с перезагрузкой страницы). В нем будет проверка как данных собственно комментария, так и капчи.
    2. Добавляете проверку на is_ajax(), в зависимости от результата отдаете редирект или HTML-код вьюшки (для не-аякс запросов), либо JSON или еще что-то (можно смотреть на заголовки, можно не париться и отдавать всегда json). В json'е будет результат операции ('result' => true, к примеру) и список ошибок валидации ('errors' => {'field' : 'error', ...}. Если сохранение успешно, то отдавать id комментария или еще что-то, смотря что планируете делать в случае успеха.
    3. При сабмите формы отправляете ajax-запрос с данными (+капча). Если есть ошибки (смотрим на result, на errors и тд), то выводим их на форму.

    Соответственно, у пользователей с отключенным js добавление комментариев работает с перезагрузкой страницы, а для остальных есть ajax. При этом экшен один на всех.

    В любом случае, никогда не полагайтесь только на ClientSide-валидацию. На ServerSide (то есть в пхп) в любом случае все эти проверки делать надо будет.
    Ответ написан
  • Какой путь выбрать для оптимизации ооочень большой страницы с кучей инпутов?

    dohlik
    @dohlik
    Наверняка некоторые элементы повторяются на странице для каждой строки (я про эти пять инпутов). Почему бы не вынести их в отдельный Popup, а данные для отдельных элементов не хранить в JS или в hidden? И отдавать данные JSON'ом будет проще…
    Ответ написан
    Комментировать