[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - программирование / AJAX /

AJAX-плагины для Smarty Часть 2: ajax_form

Источник: http://kpumuk.info/

В моей предыдущей заметке я описал несколько простых плагинов AJAX. Теперь я покажу, как использовать один из них — ajax_form — в реальных приложениях. Я думаю, что это наиболее полезный плагин, потому остановимся на нем более детально.

Большинство веб-форм имеют различные механизмы проверки. Простейшим вариантом является обработка формы на сервере и разбор результатов на клиенте, где результирующие данные имеют следующий формат:

 

true;Пользователь успешно зарегистрирован;http://example.com/login/
false;Пожалуйста, введите Ваше имя;Введенные пароли не совпадают

Результирующая строка может быть разрезана на клиенте, а результаты отображены в соответствующей части страницы. Обрабатывающая функция может выглядеть так (она является частью примера smarty_ajax):

 

var SmartyAjax = {
  onSubmit: function(originalRequest) {
    var results = originalRequest.responseText.split(";");

    if (results[0] == "true") {
      SmartyAjax.Messages.set(results[1],
        SmartyAjax.Messages.MT_WARNING)
    } else {
      SmartyAjax.Messages.clear();
      SmartyAjax.Messages.setType(SmartyAjax.Messages.MT_ERROR);
      for (var i = 1; i < results.length; i++) {
        SmartyAjax.Messages.add(results[i]);
      }
    }
  }
}

Эта функция использует несколько методов объекта SmartyAjax.Messages, который зависит от следующих HTML-элементов:

 

<div id="messages">
  <p id="messages-title"></p>
  <ul id="messages-list"></ul>
</div>

Для управления сообщениями я создал шаблон Smarty parts/warnings.tpl. Вы можете использовать его из PHP-файла следующим образом:

 

// содержит ли сообщение предупреждение (или ошибку)
$t->assign('messages_warning', true);
// массив сообщений
$t->assign('messages', array('Please provide your account information'));

Еще необходимо рассмотреть сообщение, которое уведомляет пользователя об обработке AJAX-запроса. В примере есть объект SmartyAjax.Process, содержащий два метода: hide() и show(), которые могут быть использованы для скрытия и отображения сообщения. Они зависят от HTML-элемента с id=”ajax-process”. Важно добавить стиль “position: absolute”, так как сообщение будет отображаться в правом верхнем углу экрана независимо от положения полосы прокрутки.

ajax_form проста в использовании:

 

{ajax_form method="post" id="form_register"}
Любой элемент формы может быть размещен здесь
{/ajax_form}

Возможные параметры:

  • url - URL для AJAX-запроса (если не указан URL, будет использован текущий)
  • method - метод запроса (по умолчанию get, может быть get или post)
  • params - URL-закодированные параметры
  • id - ID элемента формы
  • callback - функция JavaScript, которая будет выполнена по завершении запроса

Пример можно найти здесь, исходный код доступен для загрузки здесь




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - программирование / AJAX /

Asynchronous JavaScript and XML
06-12-2009   

Когда существующих возможностей становиться мало, а совершенствовать существующее уже некуда, тогда и происходит технологический прорыв. Таким прорывом и есть AJAX (Asynchronous JavaScript and XML) - подход к построению пользовательских интерфейсов веб-приложений, при котором web-страница, не перезагружаясь, сама догружает нужные пользователю данные. AJAX - один из компонентов концепции DHTML... подробнее

Кол. просмотров: общее - 3304 сегодня - 3

AJAX. Взаимодействие с жизненным циклом страницы
06-12-2009   

Итак, запись в таблице отредактирована, осталось её сохранить. Первое, что приходит на ум - это целиком AJAX решение, когда данные собираются из редактируемой строки DataGrid, отправляются на сервер, и в случае успеха клиентская PostBack функция перерисовывает строку таблицы уже только для просмотра... подробнее

Кол. просмотров: общее - 3299 сегодня - 2

xAJAX: Легкий AJAX в массы
03-12-2009   

Не так давно я говорил, что буду предоставлять информацию относительно PHP и Ajax. На конференции которую я провел на прошлой неделе 10 ноября 2005г. Я также обещал людям что переведу все что я приготовил для публикации на моем блоге (автор так и не перевел все это дело на Голландский, тем самым очень мне облегчил перевод )... подробнее

Кол. просмотров: общее - 3453 сегодня - 1

«Hello, закладки!» - Добавить в закладки на AJAX
03-12-2009   

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

Кол. просмотров: общее - 238254 сегодня - 3

Simple AJAX Code-Kit (SACK) и движок DataLife
03-12-2009   

Рыская в интернете в поисках Ajax-готового новостного движка, я наткнулся на давно всем известный . Хотя этот довольно продвинутый php ресурс и содержит элементы Ajax, они по-моему не до конца раскрыты и используются довольно скупо... подробнее

Кол. просмотров: общее - 3534 сегодня - 1



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects