![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Na początek: JS - nie znam (wszystko co wiem jest jedynie z widzenia i domyslow)
Co chcę osiągnąć: Chcę dodac jedno pole formularza do div'a o id X po klieknieciu w link. Max ilość dodanych pol: 9. Co udało mi się osiągnać: nic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Kod : ... <html> <head> <script type="text/javascript"> function OneMoreField(Group) { var MaxFields = 9; var Counter.Group = 0; if(Counter.Group < MaxFields) { document.getElementById(Group).innerHTML='<input type="text" name="'+Group+'[]" />'; Counter.Gropu += 1; } } </script> Powyższy kod na 100% jest zły (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ale co ma z założenia robic? Najpierw zostala określona max. ilość możliwych do dadania pól. Poźniej jest zmienna "licznki". Nastepnie jezeli zmienna Counter.Group (Gropu to zmienna przekazana w 1arg - pewnie zle ja "wstawilem") ma wartosc miejsa od 9 to do odpowiedniego div'a ma zostac dodany kod i wartosc Counter ma zostac zwiekszona. Do tego jest jeszcze html: |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ahhh... automatyczne edytowanie postow bajer,nie? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Cytat czy da sie cos zrobic aby w przypadku gdy mam np. 5 pol - wypelnie je i zapragne dodac szoste wartosci 5 wczesniejszych nie wymazaly sie? hehe, faktycznie, wymazuja sie. I wlasnie dlatego jestem przeciwnikiem innerHTML. Tutaj jak nic nalezy uzyc DOMa.Cytat ale nie znalazlem tam przeciwienstwa innerHTML czyli czegos czym moglbym obciac czesc string'a I znowu DOM (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) nadajesz polom ID, potem pobierasz dane pole na podstawie ID: document.getElementById(), a potemo usuwasz przy pomocy removeChild. Zapraszam do dokumentacji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jak nic nie zdzialasz to moze bede mial chwilke by cos wiecej dopisac edit: a masz, przerobka na DOM, nie usuwa wpisanych wartosci: Kod <script type="text/javascript"> var countRec = 1; var countRes = 1; var countProf = 1; function OneMoreField(idGroup, count, objHref) { var MaxFields = 9; if (count > MaxFields) return; objDiv = document.getElementById(idGroup);//.innerHTML+='<input type="text" name="'+idGroup+'[]" />'; element=document.createElement('input'); element.name=idGroup+'[]'; objDiv.insertBefore(element, objHref); } </script> <label for="Requirements">Requirements:</label> <div id="Requirements"> <input type="text" name="Requirements[]"/><a href="#" onclick="OneMoreField('Requirements', ++countRec, this);">one more field</a> </div> <label for="Responsibilities">Responsibilities:</label> <div id="Responsibilities"> <input type="text" name="Responsibilities[]" /><a href="#" onclick="OneMoreField('Responsibilities',++countRes,this);">one more field</a> </div> <label for="Proffer">Proffer:</label> <div id="Proffer"> <input type="text" name="Proffer[]" /><a href="#" onclick="OneMoreField('Proffer',++countProf, this);">one more field</a> </div> Usuwanie pozostawiam Tobie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 03:49 |