Pobieranie wszystkich elementów formy

0

Witam,
wcześniej pracowałem na innych bibliotekach niż jQuery, a teraz przerzuciłem się na nią i mam pewien problem.
Mam formularz (przykład - specjalnie podałem wartości w value):

			 <form id="proba">
			  <table>
				<tr>
				  <td><input type="text" name="login" value="login" /></td>
				  <td><input type="password" name="pass" value="pass" /></td>
				</tr>
				<tr>
				  <td><input type="hidden" name="ukryty" value="hidden" /></td>
				  <td><input type="button" name="przycisk" value="button" /></td>
				</tr>
				<tr>
				  <td><input type="checkbox" name="klik" value="y" /></td>
				  <td>
				  	  <input type="radio" name="sel1" value="y" />
				  	  <input type="radio" name="sel2" value="y" />
				  	  <input type="radio" name="sel3" value="y" />
				  </td>
				</tr>
			  </table>
			 </form>

Chcę pobrać atrybuty name i value (tylko wypełnione lub zaznaczone), ale zawierające się w formie !

Próbowałem na różne sposoby:

  • $("form#proba").each()
  • $("form#proba > *")
  • $("form#proba > input")
  • $("form#proba > :input")
  • .children()

Jakbym nie robił to nigdy nie chce mi pobrać tych inputów. Bardzo proszę o pomoc, jak pobrać wszystkie (lub określone) elementy z nadrzędnego elementu.

0

Niepotrzebnie wstawiasz tam te dzióbki >. One mówią, że chodzi Ci o elementy input BEZPOŚREDNIO w formularzu #proba. A Ty nie masz tych inputów bezpośrednio w formularzu, tylko jeszcze wewnątrz tabeli. Pomijając fakt, że użycie tabelek w takich wypadkach jest prawie zawsze złe i że powinieneś nauczyć się CSS-a, wywal dzióbek i szukaj po selektorze form#proba input. Nie wiem co to znaczy, że chcesz "pobrać" atrybuty name i value. Wpakować je do tablicy? Mapy? Może chcesz je przetworzyć za pomocą .each()...

0

Chcę przetworzyć to za pomocą np: .each()

Specjalnie musi być tabela, chodzi o takie działanie jak w mintAjax (http://mintajax.com.pl/Przewodnik/Obiekt-Request/ - funkcja SendForm).

Napisałeś

form#proba input

, ale to tyczy się chyba tylko elementów bezpośrednio wewnątrz <form>

Możesz podpowiedzieć jak wyszukać wszystkie elementy input wewnątrz form, ale nie zważając jakiemu elementowi podlegają (chodzi o uniwersalność).

0

No to właśnie jest odwrotnie jak myślisz:
form input wybierze inputy nieważne jak głęboko w formie
form>input wybierze inputy, które są bezpośrednimi "dziećmi" elementu form.

0

Zrobiłem dla sprawdzenia (jeszcze raz):

$("form#proba input").each(function{ alert("mam"); });

i nadal nic.

0

Ta? (pomijając, że masz brak () po function przez które kod się nie wykonuje)

http://jsbin.com/irulac/edit#javascript,html (Kliknij "Render").

Wrzuć na jsbin przykład trochę większy, który nie działa, bo zapewne w innym miejscu masz coś skopane. Selektor jest dobry.

1 użytkowników online, w tym zalogowanych: 0, gości: 1