Autor Zpráva
EdWood
Profil
Zdravím,
mám script pro formulář, který mi po stisknutí tlačítka přidá další formulářové prvky (jedna osoba může mít x kontaktů). Bohužel po odeslání a vypsání proměnných z POSTu dojde k vypsaní pouze prvního kontaktu, všechny další jsou už prázdné i když byly ve formuláři řádně vyplněny. Děkuji za pomoc.

  <script src="http://code.jquery.com/jquery-1.7.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('.add').click(function() {
                var num     = $('.clone').length;
                var newNum  = new Number(num + 1);
                var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);
                newElem.children(':first').attr('name', 'kontakt' + newNum);
                newElem.children(':last').attr('name', 'typ_kontaktu' + newNum);
                $('#input' + num).after(newElem);
 
                if (newNum == 5)
                    $('.add').attr('disabled','disabled');
            });
        });
    </script>

      <span id="input1" class="clone">
      <input type="text" name="kontakt1" />
      <select name="typ_kontaktu1">
      <option value="1">icq</option>
          <button type="button" class="add">+ Další kontakt</button>
      } 
peta
Profil
Ve FF, kdyz si policka naklikas, pak to cele oznacis pres a pak pravym tlacitkem ve vyberu das zobrazit zdrojovy kod vyberu, tak ti zobrazi html kod, ktery to pousti do sveta.
Ve FF, kdyz das Nastroje - Vyvoj webu - Chybova konzola, tak ti to treba pri mackani novych policek vypisuje chyby a nebo ne.

.children(':first') - nejsem si jisty, jestli ti v IE vrati element nebo textovy nod. Takze, pak by jsi nastavoval textu (znak novy radek) id. Coz je nesmysl a mohlo by to byt prave v te konzoli.

V kodu, co jsi poslal, se nezobrazi button. Bylo by lepsi poslat odkaz na funkcni ukazku, jinak se tim nemusi nikdo zabyvat. Je to zpusobene tim, ze nemas ukonceny select </select>.
Nemas ukonceny ani </span>.
Mas tam jakousi zavorku navic.
Pro oznaceni ve FF doplnuji pred a za span pismena aaa.
A ve zdrojovem kodu vyberu vidim toto (preformatovano v pspadu):
aaa
<span id="input1" class="clone">      
  <input name="kontakt1" type="text">      
  <select name="typ_kontaktu1">      
    <option value="1">icq
    </option>
  </select>          
  <button type="button" class="add">+ Další kontakt
  </button>
</span>
<span id="input2" class="clone">      
  <input name="kontakt2" type="text">      
  <select name="typ_kontaktu1">      
    <option value="1">icq
    </option>
  </select>          
  <button name="typ_kontaktu2" type="button" class="add">+ Další kontakt
  </button>
</span>aaa
Cili, last-element toho spanu je ten button a ne, jak ty se domnivas, select.

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: