Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js]dodawanie pól formularza
Budaa
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 1.12.2011

Ostrzeżenie: (0%)
-----


Witam, mam taką oto funkcję:
Kod
function dodaj_element(kontener){
    document.getElementById('natures_get_id').setAttribute('value',i);
    var name = 'natures_name';
    name+=i;
    var znacznik = document.createElement('input');
    znacznik.setAttribute('type', 'text');
    znacznik.setAttribute('name', name);
    znacznik.setAttribute('class', 'blok');
    var kontener = document.getElementById(kontener);
    kontener.appendChild(znacznik);
    i++;
}

Funkcja ma za zadanie:
1. Zliczanie ile pól dodano(id) i przekazanie wyniku do ukrytego pola w celu przekazania tej zmiennej do skryptu php.
2. Dodanie jednego pola input z określonymi atrybutami
3. Inkrementcję atrybutu name dla kolejnych dodanych pól tj.(natures_name1, natures_name2, natures_name3 itd.) Zgodnie z id. dla id=1 -> natures_name1.
4. Dodanie tego inputu w ściśle określonym divie.

Wyżej podana funkcja bardzo dobrze sprawdza się w dodawaniu pojedynczego inputu. Lecz niestety nie mogę sobie poradzić z tym, żeby funkcja za jedynym kliknięciem dodała np 5 inputów i każdy z nich z innymi parametrami. (oczywiście każdy ma mieć inkrementację liczby przy trybucie "name".

Bardzo prosiłbym o pomoc. Utknąłem z robotą.

ps: Właśnie. Co z polem select? Też chciałbym, żeby była możliwość dodani tego typu pola, oczywiście z określonymi opcjami.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Stwórz sobie ogólną funkcję do tworzenia elementów - np. moja:
[JAVASCRIPT] pobierz, plaintext
  1. function newElement(E,O,i,k){ //E->element, O->opcje
  2. E = document.createElement(E);
  3. for(i in O){
  4. if(i.toLowerCase()=='css')
  5. for(k in O[i]) E.style[k=='float'?(document.all?'styleFloat':'cssFloat'):k] = O[i][k];
  6. else if(i.toLowerCase()=='event')
  7. for(k in O[i]) E['on'+k] = O[i][k];
  8. else
  9. E[i] = O[i];
  10. }
  11. return E;
  12. }
  13. //////////////////////////////////////////////////////
  14. var el = newElement('a',{
  15. 'href': 'http://www.google.pl',
  16. 'title': 'google',
  17. 'innerHTML': 'KLIK',
  18. 'css': {
  19. 'color': '#f0f',
  20. 'textDecoration': 'line-through',
  21. 'float': 'right'
  22. },
  23. 'event': {
  24. 'mouseover': function(){ this.style.color = '#0f0'; },
  25. 'mouseout': function(){ this.style.color = '#f0f'; }
  26. }
  27. });
  28. document.body.appendChild(el);
[JAVASCRIPT] pobierz, plaintext


Wtedy parametry dość łatwo będziesz mógł zmieniać i stworzyć funkcję, która będzie dodawała dokładnie to co chcesz. Samej istoty problemu nie zrozumiałem niestety - opisz dokłądniej

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 06:47