Что-то непонятное происходит, на одном сайте работает, на другом нет.. оО
Вообщем есть форма обратной связи на странице, вывод шаблона:
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED")||B_PROLOG_INCLUDED!==true)die();?>
<form method="post" class="call-you-back" style="top: 137.5px; left: 451px; position: fixed;">
<?=bitrix_sessid_post();?>
<header>Мы вам перезвоним!</header>
<ul>
<li>Представьтесь</li>
<li><input class="call-you-back-name" type="text" name="user_name"></li>
<li>Номер телефона</li>
<li><input class="call-you-back-phone" type="text" name="custom[0]"></li>
<li class="but">
<input class="button-red" name="submit" type="button" value="Перезвонить мне">
<img src="<?=CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH."/img/icons/ajax-32x32.gif")?>" />
</li>
<li class="txt">
<span>Заявка отправлена!</span>
</li>
</ul>
<img src="<?=CUtil::GetAdditionalFileURL(SITE_TEMPLATE_PATH."/img/bg/callback-girl.jpg")?>" alt="">
<div class="close"></div>
</form>
|
Навешивается jQuery:
Код |
---|
$('.call-you-back .button-red').click(function() {
var form = $('.call-you-back');
var button = $(this);
var span = $('.call-you-back .txt');
var name = $('.call-you-back .call-you-back-name').val();
var phone = $('.call-you-back .call-you-back-phone').val();
var inputs = $('.call-you-back input');
var imgload = $('.call-you-back .but img');
if (name == '' || phone == '')
{
alert('Заполните все поля!');
return false;
}
inputs.prop('disabled', true);
imgload.show(100);
button.hide(100);
span.hide(100);
$.ajax({
type: "post",
url: "/ajax.phone.php",
data: form.serialize()
})
.done(function( msg ) {
alert( msg );
if (msg == 'ok')
{
inputs.prop('disabled', false);
imgload.hide(100);
button.show(100);
span.show(100);
}
else
{
alert("Ошибка");
inputs.prop('disabled', false);
imgload.hide(100);
button.show(100);
}
})
.fail(function() {
alert( "hz error" );
inputs.prop('disabled', false);
imgload.hide(100);
button.show(100);
});
});
|
Файл ajax.phone.php:
Код |
---|
<?php
require_once($_SERVER['DOCUMENT_ROOT'] .
"/bitrix/modules/main/include/prolog_before.php");
$APPLICATION->IncludeComponent(
"demo:main.feedback",
'ajaxphone',
Array(
"USE_CAPTCHA" => "N",
"OK_TEXT" => "Спасибо, ваше сообщение принято.",
"EXT_FIELDS" => array("Телефон"),
"EMAIL_TO" => "serg@luxpro.ru",
"REQUIRED_FIELDS" => array("NAME"),
"EVENT_MESSAGE_ID" => array("7")
)
);
// шаблон ajaxphone к нему ниже: |
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED")||B_PROLOG_INCLUDED!==true)die();
$status = 'test';
if(!empty($arResult["ERROR_MESSAGE"]))
{
$status = "ERROR: \n\n" . '<pre>' . htmlspecialchars(print_r($arResult, true)) . '</pre>';
}
else if(strlen($arResult["OK_MESSAGE"]) > 0)
{
$status = 'ok';
}
echo $status;
?>
|
Который выдает в $status массив с ошибкой:
ваша сессия истеклаКак поправить? Совсем не понимаю почему на одном сайте работает, на другом нет