?

Log in

No account? Create an account
tech

Осваивая jQuery

Продолжаю переползать с
самописного кода + jshttprequest + prototype + lightbox2+какой-то адаптированный календарик
на
jQuery+плагины


Поскольку с cp1251 я, кроме как для CHM файлов, дела не имею, можно не переживать за перекодировки.

Лайтбокс для jQuery даже лучше, чем для prototype, но это мелочи конечно.
Календарики вполне годятся 1 и 2, может еще чего пригляжу.

После перерыва основные приемы можно посмотреть в тюториале,
кроме того, документация очень хороша и с примерами. После тюториала вполне себе можно лазить по API и все понимать.
Есть еще и интерактивная документация.

Перед тем как осмысленно работать с фреймворком, необходимо познать общие знания о языке в виде Core JavaScript Reference, а также философский дзен о том, что функция, это объект, объект это функция, и массив это тоже объект (и соответсвтенно, функция). Перестать бояться бесконечных анонимных функций и уметь принять или вернуть функцию, как параметр, поскольку это нужно использовать постоянно (привет вот этому треду).

Для познания этих истин есть разные статьи, но я когда-то выучился вот по этим у Д. Котерова
Маленькие хитрости JavaScript, или пишем скрипты по-новому
Большие хитрости JavaScript
Наследование в JavaScript

Если кто не знает как работает XMLHTTPRequest, то тут описанно очень подробно:
XMLHTTPRequest: описание, применение, частые проблемы

Данные гонять удобнее все же не через XML, а через JSON, хотя это конечно на любителя. В php 5.2 и дальше есть встроенная библиотека для работы с JSON, для тех, у кого застой есть енкодер и на чистом php.

В JSHTTPRequest была очень полезная фича — если Ваш аякс-скрипт падал даже с фатальной синтаксической ошибкой, вы это могли вывести в отладочный блок и увидеть. Далалось это примерно так:
PHP_CodeFilter: перехват фатальных ошибок PHP? Это возможно. Ну перетащу сюда это нехитрый прием.

Кроме того решил переделать компонент, который повторял ленточные формы из MSACCESS. Вместо громозкого вывода форм для каждого объекта, лучше вывести простой список и добавить AJAX-форму для редактирования. Для работы с формой через AJAX есть небольшой нюанс, нужно собрать JavaScript'ом данные из полей и поместить их в запрос.

Пример, как это сделать можно найти тут: Ajax Forms with jQuery (здесь данные отправляются через POST, что правильно).
Однако есть хороший, на вид, плагин: jQuery Form Plugin, который аккуратно делает то, что нам нужно.

Comments