NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Duplikování položek formulářového pole

V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
michal Čepelák:17.2.2018 20:37

Zdravím,
potřeboval bych poradit mám tento kód

<script>

        var prvniPolozka = document.getElementById('sablona');
var sablona = prvniPolozka.cloneNode(true);

function pridatPole() {
    var kopie = sablona.cloneNode(true);
    document.getElementById('polozky').appendChild(kopie);
    kopie.getElementsByTagName("input")[0].focus();
}

function odebrat(el) {
    var polozka = el.parentNode;
    polozka.parentNode.removeChild(polozka);
}

        </script>

        <style type="text/css">
            .polozka:first-child .odebrat {
    /*
    První tlačítko můžeme skrýt
    display: none;
    */
}
        </style>
    </head>
    <body>

<h1>Přidání položky JavaScriptem</h1>

<form>
    <div class="polozky" id="polozky">
        <div class="polozka" id="sablona">
            <label>Jméno: <input type="text" name="policko1[]" placeholder="Zadejte jméno"></label>
            <label>Věk: <input type="number" name="policko2[]" value="20"></label>
            <label>VIP: <input type="checkbox" name="checkbox[]"></label>

            <button class="odebrat" onclick="odebrat(this)">× Odebrat</button>
        </div>
    </div>
    <button type="button" onclick="pridatPole()">+ Přidat</button>
</form>
    </body>

ale nefunguje mi to prosím o kontrolu kódu skušenější lidi.
Děkuji

 
Odpovědět
17.2.2018 20:37
Avatar
Patrik Řepa
Člen
Avatar
Patrik Řepa:17.2.2018 21:02

Ahoj, vlož script na konec souboru. Javascript chce pracovat s elementy, ale ještě nejsou načtené.

 
Nahoru Odpovědět
17.2.2018 21:02
Avatar
Odpovídá na Patrik Řepa
michal Čepelák:17.2.2018 22:00

Děkuji, už to funguje, ještě dotaz je možné tam udělat úpravu aby to fungovalo nahoře.
zkoušel jsem to přes jquery

 <script>

     $(document).ready(function(){
    var prvniPolozka = document.getElementById('sablona');
var sablona = prvniPolozka.cloneNode(true);

function pridatPole() {
    var kopie = sablona.cloneNode(true);
    document.getElementById('polozky').appendChild(kopie);
    kopie.getElementsByTagName("input")[0].focus();
}

function odebrat(el) {
    var polozka = el.parentNode;
    polozka.parentNode.removeChild(polozka);
}
      });
        </script>

ale nefunguje to, s javascriptem začínám.
Děkuji moc

 
Nahoru Odpovědět
17.2.2018 22:00
Avatar
Patrik Řepa
Člen
Avatar
Odpovídá na michal Čepelák
Patrik Řepa:18.2.2018 13:27
pridatPole = function() {
        //tvůj kód
}

odebrat = function(el) {
        //Tvůj kód
}

Zkus to takto udělat. Mělo by to jít.

 
Nahoru Odpovědět
18.2.2018 13:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.