Jak správně vložit JS komponenty?
- Jigs
- Člen | 14
Ahojte,
peru se s tím, že se mi nedaří správně vložit JS, který patří k jedné komponentě. Skončil jsem u toho, že jsem si vytvořil renderJs a renderuji to přes
{control reservation:js}
To funguje OK. Problém ale nastane ve chvíli, kdy potřebuji ten JS a tu komponentu vykreslit až ve chvíli, kdy potřebuji. Když udělám něco takového:
{snippet reservationJs}
{if $showReservation}
{control reservation:js}
{/if}
{/snippet}
Tak se stane zajímavá věc. A to to, že sice se JS naincluduje, ale všechny eventy jsou uchycené 2×. Takže když tam mám JS, který ukládá rezervaci, tak se mi ta akce provede 2× a to úplně nechci. Nevíte někdo, jak to mám udělat, aby to fungovalo správně? :-).
Formuláře se tu vykreslují přes modal okna, takže je potřeba to dělat přes AJAX a přes snippety..
Díky za odpovědi.
- Jigs
- Člen | 14
Díky za odpověď. To mě až zas tak netrápí. Spíše mě trápí, že v tom JS si potřebuji vytahat parametry z template.
Např.:
$(document).on("click", ".go-pay", function (event) {
event.preventDefault();
$.nette.ajax({
url: {link updatePrice!},
type: "POST",
data: { "reservation-reservation_id": {$reservation->getId()}, "reservation-price": $('#price').val() }
}).done(function(payload) {
window.location.href = {plink AlternativePayments: $reservation->getId()};
});
});
Edit:
Asi jediná rozumná varianta bude si naházet všechny ty potřebné parametry např. jako hidden parametry do formu a v JS to vytahovat, že?
Editoval Jigs (21. 9. 2018 14:06)