Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularze w JavaScript
wiruswww
post 31.08.2010, 13:15:02
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
Go to the top of the page
+Quote Post
AdIoS_Neo
post 31.08.2010, 17:13:35
Post #2





Grupa: Zarejestrowani
Postów: 159
Pomógł: 43
Dołączył: 8.03.2009

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


Cytat(wiruswww @ 31.08.2010, 14:15:02 ) *
<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> ?
Go to the top of the page
+Quote Post
wiruswww
post 31.08.2010, 20:17:22
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"
Go to the top of the page
+Quote Post
AdIoS_Neo
post 31.08.2010, 20:33:28
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ć".
Go to the top of the page
+Quote Post
wiiir
post 1.09.2010, 07:08:42
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
Go to the top of the page
+Quote Post
wiruswww
post 1.09.2010, 08:28:17
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?
Go to the top of the page
+Quote Post
wiiir
post 1.09.2010, 14:13:07
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
Go to the top of the page
+Quote Post
wiruswww
post 2.09.2010, 09:28:43
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 smile.gif
Tak to jest kontynuować po kimś stary projekt.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 11:59