Autor Zpráva
pajadvorak
Profil
Nejprve se klikne na tlačítko vložit do košíku:

<input type="button" value="Do košíku" class="koupit_detail" id="do_kosiku_mob">
                                    
<script nonce="<?=$nonce?>">
    document.addEventListener('DOMContentLoaded', function () {

        $("#do_kosiku_mob").click(function(){
            cartAction('add','<?php echo $id; ?>','1');
        });
    });
</script>


Následuje ajax:

function cartAction(action,product_code,pocet) {
                var queryString = "";
                    
                if(action != "") {
                    switch(action) {
                        case "add":
                            queryString = 'action='+action+'&id='+ product_code+'&pocet='+pocet;
                            break;
                        case "remove":
                            queryString = 'action='+action+'&code='+ product_code;
                            break;
                        case "empty":
                            queryString = 'action='+action;
                            break;
                    }     
                }
                jQuery.ajax({
                url: "ajax_action.php",
                data:queryString,
                type: "POST",
                success:function(data){
                    $("#modaltext").html(data);
                    if(action != "") {
                        switch(action) {
                            case "add":
                                modal.style.display = "block";
                                break;
                            case "remove":
                                $("#add_"+product_code).show();
                                $("#added_"+product_code).hide();
                                break;
                            case "empty":
                                $(".btnAddAction").show();
                                $(".btnAdded").hide();
                                break;
                            }     
                        }
                    },
                    error:function (){}
                    });    
                }
            </script>

A problém je v tom, že mám potíže se spuštěním níže uvedeného kódu / funkce. Nefunguje mi to při otevření Modal window volaného přes ajax.

<script nonce="<?=$nonce?>">
            document.addEventListener('DOMContentLoaded', function () {

                $("#tablinks_souvis1").click(function(){
                    openCity(event, 'Souvis1');
                });

                $("#tablinks_souvis2").click(function(){
                    openCity(event, 'Souvis2');
                });

                $("#tablinks_zbozi1").click(function(){
                    openCity(event, 'Zbozi1');
                });

                $("#tablinks_zbozi2").click(function(){
                    openCity(event, 'Zbozi2');
                });
            });
        </script>

Když odstraním toto: document.addEventListener('DOMContentLoaded', function () {, tak mi to funguje, ale samozřejmě je to spuštěno moc brzy.

Prosím o radu, jak to správně spustit. Toto celé používám na běžně stránce (bez modal okna) a vše funguje v pořádku. Tak nevím, zda je tam problém s tím, když to otevírám do Modal okna nebo někde jinde..?! Děkuji
pajadvorak
Profil
Problém vyřešen odstraněním document.addEventListener('DOMContentLoaded', function () {

Došlo mi, že se vlastně žádný DOM už nenačítá a tak dané funkce nebyly spuštěny.
Kcko
Profil
pajadvorak:
Proč používáš mix Vanila JS s JQ?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0