171 похожих чатов

Здравствуйте. Хочу сделать кнопку "Купить в 1 клик" для Minishop2. Я написал

такой код на html:
<form class="buy-1-click-form ms2_form" method="post" id="form_{$_modx->resource.id}">
<input type="hidden" name="id" value="{$_modx->resource.id}">
<input type="hidden" name="price" value="{$_modx->resource.price} ">
<input type="hidden" name="pagetitle" value="{$_modx->resource.pagetitle}">
<input type="hidden" name="count" value="1">
<button type="submit" name="ms2_action" value="cart/add" class="btn buy-1-click-btn">Купить в 1 клик</button>
</form>

И такой на JS:
$('.buy-1-click-form').on('submit', function (e) {
e.preventDefault();
setTimeout(function() {
document.location = window.location.origin + '/cart'
},300);
});

Без таймаута иногда не работает. Но таймаут - это костыль. На одних ПК он нужен поменьше, на других побольше.

Как мне сделать это без таймаута?

В Minishop2 есть callback'и, например:
miniShop2.Callbacks.Cart.add.response.success

Но в них нельзя получить объект, по которому кликнули. Или даже форму. А у меня, помимо кнопки "Купить в 1 клик", есть и обычные кнопки. Так что callback - не вариант.

Мне надо менять стандартные js файлы? Или есть более удобное решение?

8 ответов

60 просмотров

https://modxguru.ru/blog/solutions/zakaz-v-1-klik-na-minishop2.html

Evg- Автор вопроса
Александр
https://modxguru.ru/blog/solutions/zakaz-v-1-klik-...

Мне нужно просто при нажатии на кнопку перебросить пользователя в корзину.

Evg
Мне нужно просто при нажатии на кнопку перебросить...

можно сделать кнопку стандартную "Добавить в корзину" и в js на колбэк miniShop2.Callbacks.Cart.add.response.success = funtion(){ тут перенаправить на страницу Корзины };

Evg- Автор вопроса
Dan
можно сделать кнопку стандартную "Добавить в корзи...

Колбэк вешается не на кнопку, а на событие - добавление в корзину. С ним у меня всегда будет редирект в корзину. Даже если я нажал кнопку "Добавить в корзину". А мне нужно, чтобы редирект был только тогда, когда я нажал кнопку "Купить в 1 клик".

Evg
Колбэк вешается не на кнопку, а на событие - добав...

А я где то написал про колбэк на кнопку?)

Evg- Автор вопроса
alexey1m
Ты обработай кнопку

А как узнать, если не моя кнопка? В атрибуте колбэка нет target

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта