• jQuery плагин получить значения поля по умолчанию

    При разработке сайтов, возникает задача, получить значение поля по умолчанию и сравнить его с текущим значением. К примеру, это может потребоваться, тогда, когда мы отправляем изменение формы. Совсем не обязательно отправлять на сервер все данные. Достаточно отправить лишь измененные поля. 

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

    Второй способ, это повесить на поле ввода обработчики событий change, keyup, mouseup, в которых добавлять к полю некий атрибут, который будет говорить о его изменении. В коде это будет выглядеть как-то так

  • Отправка post запроса на чужой домен: json, iframe или flash

    JSONP  Отправка post запроса на чужой домен задача часто встречающаяся. Как оказалось работающего решения у нее нет. Есть лишь пара "костыльных" вариантов.

      Первый, и самый работающий это jsonp. Однако jsonp - это GET запрос. Т.е. количество данных переданных за один запрос в разных ситуациях не может превышать 1024 байта, или другого значения. Зависит то ли от настроек браузера, то ли от настроек сервера.

      Объясню, что такое jsonp. При jsonp запросе, в документе динамически создается элемент <script>, его атрибуту src присваивается url содержащий все данные, которые Вы хотите передать на сервер. Затем, элемент присоединяется к документу и в этот момент происходит запрос на сервер. В ответ, сервер может вернуть js код, который выполниться после загрузки. Обычно в одним из параметров в src скрипта подают еще название callback  функции, которую нужно будет вызвать. Рассмотрим подробнее

  • Примеры работы с ajax на jQuery

    В библиотеке jQuery есть несколько методов для работы с ajax: jQuery.post, $.get, $.getJSON, $.ajax. В конечном счете, все они - более удобная надстройка над $.ajax. Объясню на простом ajax примере: 

    Отправим на страницу index.php данные с формы. После того, как данные отправлены, выведем сообщение. В случае ошибки также сообщим об этом пользователю.

    Сначала методом $.post

    var data = $('#form').serialize(); 
    $.post('index.php',data,function(data,status){
    	if( status=='success' ){
    		alert('Данные успешно отправлены!')
    	}else{
    		alert('В процессе отправки произошла ошибка :(')
    	}
    })