| Цитата |
|---|
| Евгений Микулич пишет: Забавное кино, получается мне нужно выполнить скрипт достаточно простой. Но для этого я жду пока полностью отработает ЦЕЛЫЙ ХЕДЕР? А если у меня в хедере тьма всего, корзины, меню, списки каталогов - мне все это тоже подгружать аяксом, а потом сбрасывать. |
Ну, допустим, форма с оправкой аяксом.
В месте показа формы:
| Код |
|---|
<div id="form_container"><?include $_SERVER['DOCUMENT_ROOT'].'/ajax/form.php'?></div> |
В /ajax/form.php:
| Код |
|---|
<?
// форма тыры-пыры
// Вызывается из оттуда-то
// JS и стили подключаются здесь
$bAJAXMode = !class_exists('CMain');
if ($bAJAXMode)
{
define("NO_KEEP_STATISTIC", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
}
else
{
$APPLICATION->AddHeadScript('/js/form.js');
$APPLICATION->SetAdditionalCSS('/css/form.css');
}
?>
тут форма
<?
if ($bAJAXMode)
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?> |
В /js/form.js что-то типа:
| Код |
|---|
$(document).ready(function() {
$('#form_container form').live('submit', function() {
$.ajax({
url: '/ajax/form.php',
type: 'POST',
data: $(this).serialize(),
success: function(data) {
$('#form_container').html(data);
}
});
return false;
});
});
|
«Да не могут же они!»
, в функции, которая обрабатывает клик необходимо,как минимум, в конце поставить return false; если js функция вписана прямо в параметры тега "a", то тоже самое после ее вызова.