Илья
у меня не пашет)) сука днс хост забыл проплатить домен))
DG
Всем привет! Помогите плиз кто разбирается в jquery
дали сайт на доработку на нем есть форма на странице /ur/block1.php
которая после проверки отправляет форму jquery
form.submit();
в консоле смотрю form - все норм
а форма отправляет на /ur/index.php
а здесь принтую POST и он пустой и должно быть на этом этапе записать в сессию данные для заполнения второго шага
DG
почему может быть POST пустой
Илья
покажи скрин кода js
Anonymous
DG
Dmytro
Никто ж не мешает переменную назвать $ditto :)
Камиль
Эт дебаг или что? Я отстал от жизни
Камиль
Dmytro
bLang
Камиль
Давно не делал мультиязычные сайты, уже и не знаю что есть :)
Илья
так, ну форма отправляецца дефолтно, а не js, ловишь ее каким образом? method у формы указан?
DG
<form action="index.php" method="post">
а на index
if(isset($_POST)){
...
DG
говорят что раньше ве работало
Камиль
DG
и типа примерно месяца 4-5 назад перестали заявки приходить
DG
$(function(){
var settings = {
'match' : 'match',
'addNewAddressBtn' : '+ ДОБАВИТЬ НОВЫЙ',
'removeAddressBtn' : '- УДАЛИТЬ АДРЕС',
'btnRemoveInfo' : ' - УДАЛИТЬ ИНФОРМАЦИЮ',
'btnAddInfo' : ' + ЗАПОЛНИТЬ ИНФОРМАЦИЮ',
'actionRemoveAddress' : 'remove-address',
'actionAddAddress' : 'add-address',
'actionAddressMatch' : 'address-match',
'actionAddressNotMatch' : 'address-not-match',
'buhVShtate' : 'buh-v-shtate',
'addPerson' : 'add-person',
'faxLikeAPhone' : 'fax-like-a-phone',
};
$('.online-order.block-detail ').on('click', function(ev){
var $target = $(ev.target);
ev.preventDefault();
if($target.is('.back_btn[data-action]')) {
switch ($target.attr('data-action')) {
case 'back':
history.back();
break;
case 'add-address':
var contentClass = $target.attr('data-append');
var classPrefix = $target.attr('data-prefix');
$.post(
'/order/_partial/address_form.php',
{
'prefix': classPrefix
}
).done(function(data){
var cont = getParentBlock($target).find(contentClass);
cont.html(data);
// button '+ ДОБАВИТЬ НОВЫЙ' to '- УДАЛИТЬ АДРЕС'
$target.attr('data-action', settings.actionRemoveAddress);
$target.html(settings.removeAddressBtn);
$target.prev('.link-btn, .link_btn').addClass('hide');
showStars();
var flagName = $target.attr('data-tag');
var flagTag = getParentBlock($target).find('[name="' + flagName + '"]');
flagTag.val('address').value = 'address';
});
break;
case 'remove-address':
var contentClass = $target.attr('data-append');
$(contentClass).html('');
// button '- УДАЛИТЬ АДРЕС' to '+ ДОБАВИТЬ НОВЫЙ'
$target.attr('data-action', settings.actionAddAddress);
$target.html(settings.addNewAddressBtn);
$target.prev('.link-btn, .link_btn').removeClass('hide');
$target.next('.back_btn[data-action="' + settings.actionRemoveAddress + '"]')
.html(settings.addNewAddressBtn)
.attr('data-action', settings.actionAddAddress);
var flagName = $target.attr('data-tag');
var flagTag = getParentBlock($target).find('[name="' + flagName + '"]');
flagTag.val('').value = '';
break;
case 'submit':
var submitFlag = true;
if($('.online-order form').valid() === false) {
submitFlag = false;
}
if($('input[name="buh_v_shtate"]') !== null && $('input[name="buh_v_shtate"]').val() == '') {
$('input[name="buh_v_shtate"]').next('.person-info').html($('<span>', {style : 'color: red;', text : 'Не заполнена информация о бухгалтере!'}));
submitFlag = false;
}
if($('input[name="no-persons"]') !== null && $('input[name="no-persons"]').val() == 'nope') {
$('#message-no-person').find('.message-text').html($('<span>', {style : 'color: red;', text : 'Не заполнена информация об уполномоченных лицах!'}));
submitFlag = false;
}
DG
if($('input[name="faktaddr_data"]').val() !== undefined && $('input[name="faktaddr_data"]').val() == '') {
$('input[name="faktaddr_data"]').next('.fakt-address').html($('<span>', {style : 'color: red;', text : 'Адрес не указан'}));
submitFlag = false;
}
if($('input[name="mailaddr_data"]').val() !== undefined && $('input[name="mailaddr_data"]').val() == '') {
$('input[name="mailaddr_data"]').next('.post-fakt-address').html($('<span>', {style : 'color: red;', text : 'Адрес не указан'}));
submitFlag = false;
}
if(submitFlag) {
var $form = $target.parents('form');
var goalId = $form.find('input[name="GOAL_ID"]').val();
if ( goalId ) Metrics.reachGoal(goalId);
var s = $form.serializeArray();
console.log($form.get);
//$form.get(0).submit();
//s.submit();
return true;
}
break;
case settings.addPerson:
$.post(
'/order/_partial/person.php',
{
'prefix': classPrefix
}
).done(function(data){
var cont = getParentBlock($target).find(contentClass);
cont.html(data);
// button '+ ДОБАВИТЬ НОВЫЙ' to '- УДАЛИТЬ АДРЕС'
$target.attr('data-action', settings.actionRemoveAddress);
$target.html(settings.removeAddressBtn);
$target.prev('.link-btn, .link_btn').addClass('hide');
showStars();
$('input[type="tel"], input.tel').mask("+7 (999) 999-99-99");
});
break;
case 'person-add':
var contentClass = $target.attr('data-append');
var classPrefix = $target.attr('data-prefix');
$.post(
'/order/_partial/buh.php',
{
'prefix': classPrefix
}
).done(function(data){
var cont = getParentBlock($target).find(contentClass);
cont.html(data);
// button ' + ЗАПОЛНИТЬ ИНФОРМАЦИЮ' to ' - УДАЛИТЬ ИНФОРМАЦИЮ'
$target.attr('data-action', 'person-remove');
$target.html(settings.btnRemoveInfo);
$target.prev('.link-btn, .link_btn').addClass('hide');
showStars();
var flagName = $target.attr('data-tag');
var flagTag = getParentBlock($target).find('[name="' + flagName + '"]');
flagTag.val('new').value = 'new';
$('input[type="tel"], input.tel').mask("+7 (999) 999-99-99");
});
break;
case 'person-remove':
var contentClass = $target.attr('data-append');
$(contentClass).html('');
DG
// button ' + ЗАПОЛНИТЬ ИНФОРМАЦИЮ' to ' - УДАЛИТЬ ИНФОРМАЦИЮ'
$target.attr('data-action', 'person-add');
$target.html(settings.btnAddInfo);
$target.prev('.link-btn, .link_btn').removeClass('hide');
$target.next('.back_btn[data-action="' + settings.actionRemoveAddress + '"]')
.html(settings.btnAddInfo)
.attr('data-action', 'person-add');
var flagName = $target.attr('data-tag');
var flagTag = getParentBlock($target).find('[name="' + flagName + '"]');
flagTag.val('').value = '';
break;
// добавляем уполномоценные лица
case 'append-person':
var index = parseInt($target.attr('data-index'));
index++;
$target.attr('data-index', index);
// удаляем сообщение если оно есть
$('#message-no-person').find('.message-text').html('');
$.post(
'/order/_partial/person.php',
{ 'index': index }
).done(function(data){
var dataPlaceClassName = '.' + $target.attr('data-target');
var dataplace = getParentBlock($target).find(dataPlaceClassName);
dataplace.append(data);
showStars();
$('input[type="tel"], input.tel').mask("+7 (999) 999-99-99");
});
break;
// удаляем уполномоченное лицо
case 'delete-person':
// data-action="delete-person" data-target="item-002" data-index="2"
var tagClass = '.' + $target.attr('data-target');
var index = $target.attr('data-index');
var $hiddenInput = $('<input/>', {
name : 'person[' + index + ']',
type : 'hidden',
value : ''});
$(tagClass).before($hiddenInput);
$(tagClass).remove();
break;
}
}
if($target.is('.link_btn, .link-btn')){
if($target.is('[data-action]')) {
switch ($target.attr('data-action')) {
case 'back':
history.back();
break;
case 'to-index':
var pathArray = location.pathname.split('/');
pathArray[pathArray.length - 1] = 'index.php';
location.href = pathArray.join('/');
break;
case settings.actionAddressMatch:
var hiddenInput = 'input[name=' + $target.attr('data-tag') + ']';
$target.attr('data-action', settings.actionAddressNotMatch);
$($target.attr('data-append')).html('');
getParentBlock($target).find(hiddenInput).val('match').attr('value', 'match').value = 'match';
break;
case settings.actionAddressNotMatch:
var hiddenInput = 'input[name=' + $target.attr('data-tag') + ']';
getParentBlock($target).find(hiddenInput).val('').attr('value', '').value = '';
$target.attr('data-action', settings.actionAddressMatch);
break;
case settings.buhVShtate:
// TODO: блок02 бухгалтер в штате
break;
case settings.faxLikeAPhone:
// person факс совпадает телефоном
Камиль
у вас у формы событие submit не отрабатывает через js, только клик по кнопке
Илья
таки да, форма отправляецца дефолтно, без обработчика
Илья
думаецца мне не в форме дело, раз оно работало
Dmytro
==в консоле смотрю form - все норм
а форма отправляет на /ur/index.php==
так у формы екшн просто на index.php
DG
Илья
так может оно туда и надо
Dmytro
DG
не факт что и работало доллги не могли вспомнить работало или нет и сошлишь они (заказчик) что типа 4-5 месяца
DG
ну submit на index
Камиль
не могло работать это точно
Камиль
только клик яндекс ловил
DG
я и нахожусь в разделе ......./.../ur/block1.php
action="index.php" - путь то не абсолютный
DG
и submit идет на ......./.../ur/index.php
Dmytro
хм.... не доверяю я иногда такой фигне) что говорит инспектор по сабмиту? какие заголовки отправляет?
Илья
if ( goalId ) Metrics.reachGoal(goalId); попробуй закаментить, не видно где оно, как вариант еще оставить в консоли https://monosnap.com/direct/8JniFpvBK5eneGCYLDASauApSgNI0I
Илья
ну и вернуть сабмит формы как было в первом скрине
DG
DG
вот что консоль пишет
Dmytro
а пост данные летят вообще?
DG
print_r($_POST) - пусто
Dmytro
это мы поняли уже все)) я спрашиваю про консоль
Илья
блин, хорош уже стесняцца) дай линк
Илья
можно в личку, если совсем секретно))
Илья
гадать можно долго и ни к чему
Dmytro
DG
Илья
https://preview.redd.it/sg2qc6bn6ew21.jpg?width=640&crop=smart&auto=webp&s=6bb5fc463a37151c0797f46e115cb627f01197d7
Камиль
Всем привет. Вопрос не по теме. Было ло ли у вас такое, открываешь сайт всё норм, но если в iframe, то в консоли ошибка Uncaught TypeError: Object.defineProperty called on non-object и места некорректно скрипты отрабатывают (например mouseover)?
Камиль
т.к. ево фреймовая думал мб было дело 😊
Илья
может дело в CORS
Камиль
на клиенте где окно iframe http сайт который iframe https
Камиль
сейчас попробу убрать. спасибо за идею
Илья
точно cors
Камиль
точно cors
ну обычно проблема была, если сайт с https тянет что то где http
Илья
ну да, это оно
Андрей
Может js скрипт какой-то блокирует?
Aliaksandr
А что, на OnStripAlias второй плагин повесить нельзя?:)
Сергей
а что мешает?
Aliaksandr
Что-то мешает, не передается между ними alias
Сергей
Aliaksandr
Приспичило мне к англ ветке в начале приписывать автоматом en- , а оказалось, что не прокатит так, пришлось transAlias переименовать и там прописывать это :)
Сергей
а перед плагином не получится свой подставить?
Pathologic
так там https://github.com/evolution-cms/evolution/blob/1.4.x/manager/includes/document.parser.class.inc.php#L6549
Aliaksandr
stopPropagation )))
Если после transAlias, то вообще труба, не срабатывает. А если до, то transAlias обновленного alias не видит:)
Aliaksandr
Сергей
Сергей
да и там stopPropagation
то есть типа финал
Aliaksandr
Мне почему-то казалось, что если цепочка плагинов, то в каждый последующий передается уже модифицированное в предыдущем)
Сергей
Aliaksandr
Aliaksandr
Это типа если несколькими плагинами выкинуть разные алиасы, то возьмется последний
Pathologic
Aliaksandr
А я думал, что если мы первым плагином модифицируем алиас, то он таким уже во второй и пойдет:)