Zadejte hledaný výraz...

Klik na radio ako reálny užívateľ

Roman Mičkov
verified
rating uzivatele
16. 11. 2023 10:04:46
Ahoj, hľadám radu, či je možné cez javascript alebo jquery nasimulovať klik na radio input tak, ako keby som na neho klikol priamo a spustili sa aj ďalšie akcie, ktoré sa spúšťajú, ak tam kliknem reálne. Ide o Shoptet, takže žiadny prístup ku kódu, max vloženie scriptu. 
Problém je, že po kliku na radio sa aktualizuje aj zbytok stránky, to sa mi ale scriptom nedarí dosiahnuť. Teda darí, ale len v prípade, ak sa script spustí hneď po načítaní stránky, ak ho však chcem spustiť klikom cez iné tlačidlo alebo nastavím timeout po 5s, už to nefunguje viz príklad na video https://streamable.com/l8t0a4  ... radio sa označí, už sa neprepne stav na aktívne a tiež sa neaktualizuje info v pravom panely.
Skúšal som viacero spôsobov, click, change, rady od chatgpt a pod. ... nič ... ďakujem za tipy
16. 11. 2023 10:04:46
https://webtrh.cz/diskuse/klik-na-radio-ako-realny-uzivatel/#reply1522596
P8j6
verified
rating uzivatele
(9 hodnocení)
16. 11. 2023 21:32:27
Chtělo by to vidět zdroj stránky v konzoli, ale základní princip je zhruba nějak takto:
https://smalldev.tools/share-bin/KrMNklgX
V ukázce kliknem na radio button metodou click(). A pak pro jistotu propagujem event že došlo ke změně na radiu.
Editováno 16. 11. 2023 21:49:15 uživatelem P8j6
16. 11. 2023 21:32:27
https://webtrh.cz/diskuse/klik-na-radio-ako-realny-uzivatel/#reply1522619
Roman Mičkov
verified
rating uzivatele
17. 11. 2023 10:39:50
To som tiež skúšal a nič ... radio sa označí, ale už sa neaktualizuje zbytok tak, ako keď nato kliknem priamo ... tak asi nič :D .. ide o shoptet https://classic.shoptet.sk/ , prvý krok košíka kde je doprava
17. 11. 2023 10:39:50
https://webtrh.cz/diskuse/klik-na-radio-ako-realny-uzivatel/#reply1522625
P8j6
verified
rating uzivatele
(9 hodnocení)
17. 11. 2023 12:18:10
Tak jsme na to koukl. Ta událost klinutí je tam navěšena na ten div který obaluje input. 
Takže pokud chci vybrat například DPD, což je id="shipping-25".
Tak nejdřív vyberu ten div:  const div = document.getElementById('shipping-25')
Vytvořím event mousedown:  const event = new Event('mousedown')
A event odpálím:  div.dispatchEvent(event)
Tím se mi vybere doprava DPD a přepočítá se cena, atd...
Editováno 17. 11. 2023 12:18:57 uživatelem P8j6
17. 11. 2023 12:18:10
https://webtrh.cz/diskuse/klik-na-radio-ako-realny-uzivatel/#reply1522629
Roman Mičkov
verified
rating uzivatele
17. 11. 2023 12:48:33
Ďakujem, takto mi to už funguje :)
17. 11. 2023 12:48:33
https://webtrh.cz/diskuse/klik-na-radio-ako-realny-uzivatel/#reply1522630
Pro odpověď se přihlašte.
Přihlásit