Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Скрипт кликающий кнопку


Sayonara23

Recommended Posts

Извините если было, не нашел в поиске. Изменил форму заказа, скрыл пункт "адрес доставки" и сделал чтобы в него всегда вставлялась информация из предыдущего пункта. Когда человек не зарегистрирован - все работает как надо, но если заказ делать зарегистрированным, то необходимо нажимать две кнопки подтверждения адреса. И т.к. один из пунктов скрыт - нажать на кнопку не представляется возможным. Попытался решить это через такой скрипт

var $btn = $("#buttonID"),
    click = $btn.click.bind($btn);
setTimeout(click, 400);

Срабатывает, но, видимо(не силен в JS) из-за setTimeout клик повторяется каждые 400мс из-за чего следующий пункт в форме открывается/закрывается.
Суть - как сделать так, чтобы клик срабатывал только один раз при переходе к этому скрытому разделу и не повторялся после нажатия кнопки? Заранее благодарю.

Надіслати
Поділитися на інших сайтах


$("#buttonID").click( function() { 
	console.log("нажата кнопка buttonID"); 
	setTimeout( function() { 
		console.log("наши действия через 400 миллисекунд"); 
	}, 400); 
});

 

Надіслати
Поділитися на інших сайтах

23 минуты назад, LiLu сказал:

$("#buttonID").click( function() { 
	console.log("нажата кнопка buttonID"); 
	setTimeout( function() { 
		console.log("наши действия через 400 миллисекунд"); 
	}, 400); 
});

 

Извините, можно подробнее как это применить? Ваш код не нажимает на кнопку

Надіслати
Поділитися на інших сайтах


@Sayonara23 я, видимо, тоже не совсем правильно понимаю задачу.

Нужно нажимать на кнопу после чего? В каких условиях? Если при загрузке страницы, то это вот так:

$(document).ready(function() {
	setTimeout( function() { 
		$("#buttonID").click();
	}, 400); 
});

тогда #buttonID кликнется один раз при загрузке страницы

Надіслати
Поділитися на інших сайтах

@LiLu 

Спойлер

spacer.png

Адрес доставки у меня скрыт css'ом, но в нем есть кнопка продолжить, которую необходимо нажать скриптом после того, как этот пункт раскроется после нажатия кнопки на предыдущем шаге.
Последний код работает так же, как и мой, кнопка нажимается, следующий пункт(способ доставки) открывается, но начинает сворачиваться/разворачиваться каждые 400мс(скрипт почему-то не останавливается)

Надіслати
Поділитися на інших сайтах


В 17.11.2019 в 21:59, Sayonara23 сказал:

@LiLu 

  Скрыть контент

spacer.png

Адрес доставки у меня скрыт css'ом, но в нем есть кнопка продолжить, которую необходимо нажать скриптом после того, как этот пункт раскроется после нажатия кнопки на предыдущем шаге.
Последний код работает так же, как и мой, кнопка нажимается, следующий пункт(способ доставки) открывается, но начинает сворачиваться/разворачиваться каждые 400мс(скрипт почему-то не останавливается)

Опенкарт вроде из коробки умеет пропускать шаг "Адрес доставки" если на предыдущем шаге отметить галочкой чекбокс "Мой адрес доставки совпадает с платежным."

<input type="checkbox" checked value="1" name="shipping_address">

и не надо скриптов

Надіслати
Поділитися на інших сайтах

53 минуты назад, Blast сказал:

Опенкарт вроде из коробки умеет пропускать шаг "Адрес доставки" если на предыдущем шаге отметить галочкой чекбокс "Мой адрес доставки совпадает с платежным."

К сожалению он его пропускает только если пользователь не зарегистрирован, если делать заказ от зарегистрированного, то необходимо нажимать одно подтверждение в платежном шаге и второе подтверждение в шаге доставки

Надіслати
Поділитися на інших сайтах


36 минут назад, Sayonara23 сказал:

К сожалению он его пропускает только если пользователь не зарегистрирован, если делать заказ от зарегистрированного, то необходимо нажимать одно подтверждение в платежном шаге и второе подтверждение в шаге доставки

вы наверное вставили скрипт в шаблон, который подгружается на этот шаг. Но опенкарт по клику на кнопки Продолжить повторно обращается к предыдущим шагам и заново заполняет уже скрытые шаги. В результате и получаете зацикливание, когда html-код подгружается со скриптом, и снова подгружает себя же со скриптом и т.д.

 

Кликайте на кнопку в шаблоне checkout/checkout.twig после строки

$('a[href=\'#collapse-shipping-address\']').trigger('click');

Надіслати
Поділитися на інших сайтах

@Blast 

Спойлер

spacer.png

Попробовал и этот скрипт, и первый, и с комментариями и без, клика вообще не происходит. За совет в любом случае спасибо, тоже думал о том, что скрипт надо в другом файле вставлять

Надіслати
Поділитися на інших сайтах


31 минуту назад, Sayonara23 сказал:

@Blast 

  Скрыть контент

 

Попробовал и этот скрипт, и первый, и с комментариями и без, клика вообще не происходит. За совет в любом случае спасибо, тоже думал о том, что скрипт надо в другом файле вставлять

без $(document).ready(

setTimeout( function() {
	$("#button-shipping-address").click();
}, 400);

строка $('a[href=\'#collapse-shipping-address\']').trigger('click'); встречается 3 раза

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.