У вас есть две проблемы, которые в некоторой степени связаны, но их не следует просто объединять.
- CSS для макета
- Загружается только часть страниц при отправке форм
Я бы работал над отдельным (помня о другом, когда вы это делаете)
Во-первых, я предлагаю вам сосредоточиться на переходе на страницы, основанные на веб-стандартах, без введения Ajax.
Это правда, что при перезагрузке всей страницы есть некоторые недостатки, но этот подход прост и относительно прост в отладке.
Пока вы делаете это, рассмотрите возможность разделения вашего дисплея и бизнес-логики. Шаблон MVC хорошо работает для этого.
CakePHP - популярный MVC-фреймворк, который может помочь.
Если у вас есть работающая система, вы можете беспокоиться об использовании Ajax. Следуйте принципам прогрессивного улучшения .
Если вы отделили нашу логику отображения от бизнес-логики, вам должно быть относительно просто повторно использовать существующий код с другим представлением, которое предоставляет данные, которые вам нужны, в удобном для JavaScript формате (например, JSON).
Вы можете обработать это, чтобы обновить интересующие вас части страницы.
Рамки, которые могут помочь вам включить YUI и jQuery .
Я написал простой пример в прошлом году. Строки 51 и далее основного сценария перекачивают данные либо в HTML-шаблон для обработки непосредственно браузером, либо в модуль JSON для обработки с JS . Там нет большого количества дублирующих усилий, так как код для просмотра параметров, отправленных пользователем, и извлечения данных из БД на его основе является общим.