-
JavaScript. Как удалить значение из массива?
Задача элементарная, но не всегда очевидно её решение. А в интернете есть ну очень извращённые методы решения) Приведу два варианта, которыми пользуюсь сам. Метод 1: var array = [1, 2, 3, 4, 5, 6, 7]; var item = 4 ; var index = array.indexOf(item); if (index !== -1) { array.splice(index, 1); } console.log( array ); […]
-
Laravel. Dropzone. Как добавить csrf-токен при загрузке?
Dropzone, по умолчанию, при загрузке, отправляет POST-запрос, который Laravel, как и другие фреймворки, проверяет на наличие csrf-токена. Этого токена, конечно же нет и мы получаем соответствующую ошибку. Решить проблему можно достаточно просто — в этой статье пример, как добавить csrf-токен к запросу загрузки файла от Dropzone. Речь идет даже не сколько об Laravel, сколько о […]
-
Javascript. jQuery. Как подключить css-файл (аналог $.getScript)
Подключать внешний css-файл через javascript (jQuery) — задача нечастая, но вероятная. В этой статье пример простого решения задачи. Итак, Вашему вниманию два варианта решения задачи. jQuery: $(», { rel: ‘stylesheet’, type: ‘text/css’, href: ‘path_to_the.css’ }).appendTo(‘head’); JavaScript: var linkElem = document.createElement(‘link’); document.getElementsByTagName(‘head’)[0].appendChild(linkElem); linkElem.rel = ‘stylesheet’; linkElem.type = ‘text/css’; linkElem.href = ‘path_to_the.css’; Вот, в зависимости от Ваших […]
-
Javascript. Как определить мобильное устройство?
В интернете много вариантов определения того, с мобильного устройства пользователь смотрит сайт или с ПК. Приведу один из них, которым пользуюсь сам. Конечно, множество вариантов условны и могут давать погрешность. Кроме этого некоторые варианты очень громоздки, чего не требует ситуация. Окончательное решение принимайте исходя из важности и строгости определения устройства. Но во многих случаях, приведенный […]
-
Как передать маршрут в приложение Яндекс Навигатор?
В этой статье очень короткий пример, как можно передать точку или маршрут в Яндекс.Навигатор. Подобная задача может возникнуть у Вас, к примеру, чтоб быстро подтолкнуть пользователя проложить маршрут к Вашей организации. Здесь у нас есть два варианта — показать маршрут или показать точку. Построение маршрута: yandexnavi://build_route_on_map?lat_to=…&lon_to=…[&lat_from=…][&lon_from=…] По указанному адресу нужно передать координаты точек, между которыми […]
-
jQuery. Как обновить изображение в image?
Иногда бывает надо обновить изображение в теге img при помощи jquery. В этой статье пример, как можно сделать refresh для img. Главное, что нужно знать — это то, что браузер кеширует изображения, что как раз и может мешать обновлению его на странице, если, к примеру, оно уже изменилось на сервере. В таком случае можно обновить […]
-
Html. iOS Safari не работает аттрибут maxlength
Не будем говорить о том, как можно игнорировать нативный html-аттрибут — просто разберем пример, как решить проблему. Решение очень простое, но, тем не менее, не уменьшает удивление от поведения Safari. $(‘input[name=»securitycode»]’).keypress(function() { if (this.value.length >= 4) { return false; } }); Данный простой код не даёт ввести в поле более, чем 4 символа. Ничего нового, […]
-
Bootstrap. Как отключить закрытие окна кликом за его пределами?
В случае, когда модальное окно обязательно к прочтению или в нем, например, форма «Я соглашаюсь» — нельзя чтобы клиент имел возможность закрыть его без согласия. А это сделать ему очень просто — просто нажав за его пределами. В этой статье маленький пример, как отключить эту возможность. Для решения задачи у Вас есть два пути. Первый […]
-
Yii2. Как прокрутить страницу к первому полю с ошибкой после валидации?
Очень удобная для пользователя фишка — прокрутка страницы к первому полю с ошибкой в случае неуспешной валидации. В этой статье я напишу, как можно просто прокрутить страницу к первой ошибке после валидации yii2. Приведу пример с реального проекта: /** * Прокрутка полсле неудачной валидации */ $(«#form»).on(«afterValidate», function (event, messages) { if(typeof $(«.has-error»).first().offset() !== «undefined») { […]