![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Poraz kolejny mam problem z formularzami w JavaScript. otóż gdy część formularza generowana jest za pomocą JS pole dodane przez skrypt JS nie są wysyłane, np mamy sobie form, wewnątrz tabele i różne div'y, to gdy skyptem dodaje pola zachowuje się tak jak by te pola nie należały do oformularza, np: (bardzo skrótowo)
<form id='formularz'> <table> <tr><td><input name='pole' /></td></tr> <tr><td><div id="pola_form"></div></td></tr> </table> </form> $('#pola_form').append('<div><input name='inne_pole' /></div>'); wówczas #inne_pole poprawnie wyświetla się na stronie jest jest ignorowane podczas wysyłania forma (button submit). W firebug i webdeveloper w opcjach wyświetlania pól formularza nie zaznacza pola wstawionego za pomocą JavaScript (jQuery). W firefox w zakładce HTML powyższy kod wyglądał by następująco: <form id='formularz'></form> <table> <tr><td><input name='pole' /></td></tr> <tr><td><div id="pola_form"><div><input name='inne_pole' /></div></div></td></tr> </table> Jeżeli pole dodawane jest bezpośrednio pod formularz to jest ok: $('#formularz').append('<div><input name='inne_pole' /></div>'); jednak w ten sposób nie mogę tego zrobić. Macie jakieś pomysły jak dynamicznie dodawać pola aby działało ok? Pozdrawiam Mateusz |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 159 Pomógł: 43 Dołączył: 8.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
<form id='formularz'></form> <table> <tr><td><input name='pole' /></td></tr> <tr><td><div id="pola_form"><div><input name='inne_pole' /></div></div></td></tr> </table> To jest błąd tylko tutaj czy na stronie też próbujesz wysłać pusty formularz <form id='formularz'></form> ? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
to nie błąd, to fragment z tego co jest w Firebug w zakładce HTML, dla mnie też to dziwnie wygląda ale tak jest, wysyła cały formularz z wyjątkiem pól dodanych przez JS, czyli wysyła tylko pola "statyczne"
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 159 Pomógł: 43 Dołączył: 8.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż co masz w kodzie a nie "co jest w Firebug" -.-' chyba, że to nie Twoja strony tylko ją próbujesz "zhackować".
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
masz blad w append
Kod // ty masz $('#pola_form').append('<div><input name='inne_pole' /></div>'); //sprobuj tak $('#pola_form').append('<div><input name=\'inne_pole\' /></div>'); cudzyslow konczy i rozpoczyna stringa w js.. wiec ty go zaczynasz i konczysz na name.. pozniej jak przegladarka to parsuje widzi ze cos jest nie tak i dlatego masz pusty formularz. to tak jakbys chcial zrobic Kod alert("Bardzo "glupi" blad ktory tez czasem popelniam :)"); Ten post edytował wiiir 1.09.2010, 07:11:34 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
[quote name='wiiir' date='1.09.2010, 08:08:42 ' post='785148']
masz blad w append [code] Być może, ale nie jestem pewien co do tego, nie jestem w stanie teraz tego sprawdzić. Ale wydaje mi się że IDE (Netbeans) zrociłby mi na to uwagę. Problem ten mam nie pierwszy raz, w innym projekcie rozwiązałem go generując wszystkie pola statycznie ze stylem display:none a potem w JS je odkrywałem, niestety teraz nie mogę użyć tego rozwiązania. Sądzicie że od strony logicznej to jest ok? Czy na działanie ma jakiś wpływ że pola input dodaje z różnnymi dekoracjami (div) i nie są dodawane bezpośrednio pod form tylko do td które oczywiście jest w form? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Logicznie wygalda to dobrze.. popraw cydzyslowia i bedzie ok
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
cudzysłowia są ok
$('#dodawanie_zalacznikow').append('<input type="file" name="zalaczniki[]" class="zalaczniki_dodaj" maxlength="255">'); problem rozwiązany: rzecz banalna - tagi html się zazębiały ![]() Tak to jest kontynuować po kimś stary projekt. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 11:59 |