Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]Dodawanie pola input wraz z opisem
Forum PHP.pl > Forum > Po stronie przeglądarki
qrcze_pieczone
Witam
ma taki kod w js (zapożyczony z http://ferrante.pl )
  1. function Laduj()
  2. {
  3. var ilosc = document.forms['add_input'].elements.length;
  4. for (var i = 0; i < ilosc; i++ )
  5. {
  6. document.forms['add_input'].elements[i].onkeyup = SumujInput;
  7. }
  8. document.getElementById('add_input').onclick = DodajInput;
  9. }
  10. function DodajInput()
  11. {
  12. var element = document.createElement('input');
  13. element.setAttribute('type', 'text');
  14.  
  15. var liczba = 0;
  16. var ilosc = document.forms['add_input'].elements.length;
  17. for (var i = 0; i < ilosc; i++ )
  18. {
  19. if (document.forms['add_input'].elements[i].type == 'text')
  20. {
  21. liczba += 1;
  22. }
  23.  
  24. }
  25. element.setAttribute('name', 'file-'+(liczba+1));
  26. element.style.display = "block";
  27. element.style.margin= "2px";
  28. element.label.setAttribute('id', 'file-'+(liczba+1));
  29. document.forms['add_input'].appendChild(element);
  30. document.forms['add_input'].elements['file-'+(liczba+1)].onkeyup = SumujInput;
  31. }

który daje możliwość dodawania kolejnego pola input czyli:

  1. <form><input type="text" name="file-1" value="0"/><br />
  2. <input type="text" name="file-2" value="0"/>
  3. </form>


i moje pytanie jest takie co zrobić aby oprócz pola input uzyskać ta metodą opis z każdego inputa czyli np

  1. <label for="file-1">Rata 1<input type="text" name="file-1" value="0"/></label>
  2. <label for="file-2">Rata 2 <input type="text" name="file-2" value="0"/></label>
  3. </form>


czyli czy jest w ogóle możliwość aby w formularzu umieścić Element <label> wraz z opisem

pozdrawiam
kuebk
O ile dobrze zrozumialem to ponizszy kod wygeneruje to co chciales.

  1. function Laduj()
  2. {
  3. var ilosc = document.forms['add_input'].elements.length;
  4. for (var i = 0; i < ilosc; i++ )
  5. {
  6. document.forms['add_input'].elements[i].onkeyup = SumujInput;
  7. }
  8. document.getElementById('add_input').onclick = DodajInput;
  9. }
  10. function DodajInput()
  11. {
  12. var element = document.createElement('input');
  13. var label = document.createElement('label');
  14. element.setAttribute('type', 'text');
  15.  
  16. var liczba = 0;
  17. var ilosc = document.forms['add_input'].elements.length;
  18. for (var i = 0; i < ilosc; i++ )
  19. {
  20. if (document.forms['add_input'].elements[i].type == 'text')
  21. {
  22. liczba += 1;
  23. }
  24.  
  25. }
  26. element.setAttribute('name', 'file-'+(liczba+1));
  27. element.style.display = "block";
  28. element.style.margin= "2px";
  29. label.setAttribute('for', 'file-'+(liczba+1));
  30. label_text = document.createTextNode('Rata '+(liczba+1));
  31. label.appendChild(label_text);
  32. label.appendChild(element);
  33. document.forms['add_input'].appendChild(label);
  34. document.forms['add_input'].elements['file-'+(liczba+1)].onkeyup = SumujInput;
qrcze_pieczone
dzięki "kuebk"
o to właśnie mi chodziło smile.gif
pozdrawiam

żeby nie zaśmiecać forum to będę tą tematykę tutaj kontynuował,
teraz mam problem ze wstawienie znaczników

  1. <tr><td>



czyli chcę aby na tej zasadzie wstawiały się te znaczniki

  1. <tr><td>Rata 1</td><td><input type="text" name="file-1" value="0"/></td></tr>
  2. <tr><td>Rata 2 </td><td><input type="text" name="file-2" value="0"/></td></tr>


biorąc moje wcześniejsze (bardzo małe) doświadczenie wydedukowałem coś takiego
  1. var element = document.createElement('input');
  2. var table_tr = document.createElement('tr');
  3. var table_td = document.createElement('td');
  4. element.setAttribute('type', 'text');
  5. element.setAttribute('value', 0);
  6. element.setAttribute('maxlength', 10);
  7. table_tr.appendChild(table_td);
  8. label_text = document.createTextNode('Rata '+(liczba));
  9. table_tr.appendChild(label_text);
  10. table_tr.appendChild(element);
  11. label_text2 = document.createTextNode('zł');
  12. table_tr.appendChild(label_text2);
  13. document.forms['add_input'].appendChild(table_tr);


i generuje się taki kod

  1. <tr><td></td>Rata 3<input oninput="verify_input(this.form.file_4)" id="file_4" name="file_4" maxlength="10" value="0" type="text"></tr>
  2. <tr><td></td>Rata 4<input oninput="verify_input(this.form.file_5)" id="file_5" name="file_5" maxlength="10" value="0" type="text"></tr>
  3. <tr><td></td>Rata 5<input oninput="verify_input(this.form.file_6)" id="file_6" name="file_6" maxlength="10" value="0" type="text"></tr>

no i moje pytanie co zrobić aby znaczniki <td></td> wyświetlały się prawidłowo
pozdrawiam

Poradziłem sobie z tym problemem snitch.gif
więc pytanie już nie aktualne
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.