|
|
10.09.2014, 13:03
|
|
Нерсесов Сергей Николаевич
Зарегистрирован: 2014-06-16
Сообщений: 35
|
Такая проблема...имеется такой код:
Код:
<script>
jQuery(document).ready(function($) {
$("#ajax-contact-form").submit(function() {
var str = $(this).serialize();
$.ajax({
type: 'POST',
url: '<?= $SUB_FOLDER ?><?= $HTTP_ROOT_PATH ?>add.php?isNaked=1&ajax=1',
data: str,
success: function(msg) {
if(msg == 'OK') {
result = '<div class="notification_ok">Ваше сообщение было отправлено</div>';
$("#fields").hide();
} else {
result = msg;
}
$('#note').html(result);
}
});
return false;
});
});
</script>
проверка полей работает как надо, а вот при успешной отправке перебрасывает на страницу add.php + еще в добавок и дублируются инфоблоки которые есть на странице...
|
|
|
10.09.2014, 13:36
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Возможно у вас на "msg" возвращает не 'OK'. В действия после выполнения имеется код перенаправления. Тогда он возвращает и его.
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
08.12.2014, 00:14
|
|
Нерсесов Сергей Николаевич
Зарегистрирован: 2014-06-16
Сообщений: 35
|
Вот полный исходный код что у меня есть:
Альтернативная форма добавления объекта
Код:
<div id='fields'>
<div id='note'>
<?=$warnText ?>
</div>
<form name='adminForm' id='ajax-contact-form' class='nc-form' enctype='multipart/form-data' method='' action=''>
<div id='nc_moderate_form'>
<div class='nc_clear'></div>
<input name='admin_mode' type='hidden' value='<?= $admin_mode ?>' />
<?= $nc_core->token->get_input() ?>
<input name='catalogue' type='hidden' value='<?= $catalogue ?>' />
<input name='cc' type='hidden' value='<?= $cc ?>' />
<input name='sub' type='hidden' value='<?= $sub ?>' /><input name='posting' type='hidden' value='1' />
<input name='curPos' type='hidden' value='<?= $curPos ?>' />
<input name='f_Parent_Message_ID' type='hidden' value='<?= $f_Parent_Message_ID ?>' />
<?= nc_form_moderate('add', $admin_mode, 0, $systemTableID, $current_cc, (isset($f_Checked) ? $f_Checked : null), $f_Priority , $f_Keyword, $f_ncTitle, $f_ncKeywords, $f_ncDescription ) ?>
</div>
<?= nc_string_field('Name', "maxlength='255' size='50'", ($class_id ? $class_id : $classID), 1) ?><br />
<br />
<?= nc_string_field('Email', "maxlength='255' size='50'", ($class_id ? $class_id : $classID), 1) ?><br />
<br />
<?= nc_string_field('PhoneNumber', "maxlength='255' size='50'", ($class_id ? $class_id : $classID), 1) ?><br />
<br />
<? if (!$AUTH_USER_ID && $current_cc['UseCaptcha'] && $MODULE_VARS['captcha']) { ?><?= nc_captcha_formfield() ?><br/><br/><?= NETCAT_MODERATION_CAPTCHA ?> (*):<br/><input type='text' name='nc_captcha_code' size='10'><br/><br/><? } ?>
<div><?= NETCAT_MODERATION_INFO_REQFIELDS ?></div><br/>
<input class="btn" type="submit" name="submit" value="Отправить!" />
</form></div>
<script src="http://yandex.st/jquery/form/3.14/jquery.form.min.js"></script>
<script src="/illuminex_theme/js/notify.js"></script>
<script>
jQuery(document).ready(function($) {
$("#ajax-contact-form").submit(function() {
var str = $(this).serialize();
$.ajax({
type: 'POST',
url: '<?= $SUB_FOLDER ?><?= $HTTP_ROOT_PATH ?>add.php?isNaked=1&ajax=1',
data: str,
success: function(msg) {
if(msg == 'OK') {
result = "<div class='notification_ok3'></div>"
$('#fields').hide();
} else {
result = msg;
}
$('#note').html(result);
}
});
return false;
});
});
</script>
Условия добавления объекта
Пусто
Действие после добавления объекта
Код:
<?
// значения визуальных настроек
$res = $db->get_var("SELECT CustomSettings FROM Sub_Class WHERE Sub_Class_ID=$cc");
( $res ? eval("\$cc_settings = $res") : $cc_settings = NULL );
// значения визуальных настроек по умолчанию
$res = $db->get_var("SELECT CustomSettingsTemplate FROM Class WHERE Class_ID=$classID");
eval("\$default_cc_settings = $res");
echo "<div class='nc_mail_from_site'>".str_replace("%NAME", htmlspecialchars($f_Name), ( $cc_settings[TextAfterSend] ? $cc_settings[TextAfterSend] : $cc_settings[TextAfterSend][default_value] ) )."</div>";
$f_NameMail="Сообщение с сайта";
$f_Mail = "Имя: $f_Surname $f_Name $f_Patronymic
Телефон: $f_PhoneNumber
E-mail: $f_Email
Артикул: $f_Arti
Сообщение:
$f_Note";
$mailer = new CMIMEMail();
$mailer->mailbody(strip_tags($f_Mail));
$mailer->send(($cc_settings[EmailTo] ? $cc_settings[EmailTo] : $system_env[SpamFromEmail]), $f_Email, $f_Email, $f_Note, $f_NameMail);
?>
Не пойму, почему работать не хочет...может кто поделится решением?
|
|
|
14.04.2015, 18:27
|
|
Гость
Гость
|
Ну так вы нашли решение?
|
|
|
04.05.2015, 20:19
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Тут нужно смотреть файрбагом неработающий скрипт. Давайте урл страницы - попробуем разобраться.
|
|
|
26.06.2015, 13:41
|
|
Нерсесов Сергей Николаевич
Зарегистрирован: 2014-06-16
Сообщений: 35
|
Цитата:http://www.illuminex.ru/footer/teh-razdel/
Вот тестовая страничка
|
|
|
26.06.2015, 13:56
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Не можем проверить - при попытке отправить сообщение, пишет, что у нас нет доступа.
Откройте доступ на добавление в инфоблок всем пользователям, в т.ч. анонимным
|
|
|
26.06.2015, 14:02
|
|
Нерсесов Сергей Николаевич
Зарегистрирован: 2014-06-16
Сообщений: 35
|
Сделал
|
|
|
26.06.2015, 14:12
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Поглядел - на add не перекидывает, все выглядит пристойно. Посмотрите, от меня должно было тестовое сообщение прийти.
После отправки сообщения, правда, ничего не появляется, кроме пустого дива:
<div class='nc_mail_from_site'></div>
но судя по вашему действию после добавления - там должен выводиться "спасибо..." и раз он там у вас не выводится, значит у вас не созданы или не заполнены "пользовательские поля" этого компонента(шаблона), раз он не может нигде текст для вывода на экран найти.
Видимо по той же причине и емайл, куда отправлять, тоже не находит.
|
|
|
26.06.2015, 14:32
|
|
Нерсесов Сергей Николаевич
Зарегистрирован: 2014-06-16
Сообщений: 35
|
Да, вы били правы, спасибо, не заметил)) добавил вывод сообщения после отправки и письмо приходит, но теперь почему то после отправки дублируются инфоблоки которые находятся на странице
+ msg не получает OK, хотя письмо отправляется)
|
|
|
26.06.2015, 21:45
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Я сегодня с аналогичной проблемой столкнулся - если в разделе несколько инфоблоков, и в одном из них идет добавление объекта, то после добавления выводится вся портянка из инфоблоков. У вас скорее всего по этой же причине и идет задвоение.
Предлагаю вам выключить все инфоблоки в разделе, кроме того, где форма добавления, и в этом компоненте в нужных местах вызывать отображение нужных вам инфоблоков через функцию nc_objects_list. Я у себя попробовал - в этом случае после добавления объекта лишние инфоблоки не выводятся.
|