Как отправить изменение в корзине minishop2 через javascript?

Есть форма, при клике на кнопку работает, но нужно чтобы при опред событие из джса засабмитилось всё, submit() не работает, click() по кнопке не работает, если вручную нажимать всё работает.
Пробовал так:
closestFormSubmitBtn = getClosest(currentElement, 'button[name="ms2_action"]');
if(closestFormSubmitBtn){
	closestFormSubmitBtn.click();
}
/
closestForm = getClosest(currentElement, 'form.someform');
if(closestForm){
	closestForm.submit();
}
Pandemic
28 августа 2024, 08:16
modx.pro
184
0

Комментарии: 1

Pandemic
28 августа 2024, 09:02
1
0
Вывел minishop2 и нашёл там такое, есть объект
sendData
в нём хранится та форма которая будет изменятся при клике, он формируется вовремя клика, и затем если вызвать
miniShop2.Cart.change();
То изменения отправятся. Суть такая собрать все данные с формы под вид объекта
sendData
пример можно посмотреть когда вы вручную нажмёте на кнопку, оно заполнится, потом можно по аналогии.

if(miniShop2){
	miniShop2.sendData = {
		$form: $(el),
		action: "cart/change",
		formData: [
			{
				name: "key",
				value: getElement('input[name="key"]', el).value
			},
			{
				name: "options",
				value: getElement('input[name="options"]', el).value
			},
			{
				name: "count",
				value: getElement('input[name="count"]', el).value
			},
			{
				name: "ms2_action",
				value: "cart/change"
			},
			{
				name: "ctx",
				value: "web"
			},
			{
				name: "ctx",
				value: "web"
			},
		]
	}
	miniShop2.Cart.change();

}
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1