Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie danych z formularza i dynamiczne dodawanie pól
Amakesh
post 10.04.2016, 14:01:50
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 26.06.2014

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


Witam! Mam formularz, w którym potrzebuję dodać kilka pól. Liczba dodanych pól ma zależeć od liczby jaką podał użytkownik np. jeśli liczba dzieci = 3, zostaną dodane 3 pola do wpisania wieku i 3 do podania ceny za pobyt w obiekcie noclegowym. Udało mi się napisać funkcję, która dodaje określoną ilość pól, ale działa tylko na pojedynczej wartości przypisanej "na sztywno". Próbuję więc dodatkowo napisać funkcję, która będzie mi na bieżąco(bez konieczności użycia buttona!) pobierała i wyświetlała dane z pierwszego pola - liczba dzieci. Niestety wyświetla tylko domyślną wartość ustawioną w polu - 0. Kiedy wpiszę cokolwiek innego, dalej wyświetla domyślną wartość oraz błąd w konsoli Firefox'a:

TypeError: $(...).val is not a function


Proszę o pomoc

html

  1. <div id="mres-form16">Liczba dzieci:<input type="text" id="countc" name="countc" size="60" placeholder = "0" value="0" ></input></div>
  2. <div id="mres-form17"></div> //wiek dziecka 1..n
  3. <div id="mres-form18"></div> //wiek




[JAVASCRIPT] pobierz, plaintext
  1. <script>
  2.  
  3. $('#countc').keyup(function(){
  4. var newValue = $(this).val();
  5. $('#mres-form18').text(newValue);
  6. })
  7. .keyup();
  8.  
  9.  
  10. var startingNo = $('#countc').val();
  11. var $node = "";
  12. for(varCount=1;varCount<=startingNo;varCount++){
  13. var displayCount = varCount;
  14. $node += '<p><label for="var'+displayCount+'">Variable '+displayCount+': </label><input type="text" name="var'+displayCount+'" id="var'+displayCount+'"></p>';
  15.  
  16. }
  17. $('#mres-form18').prepend($node);
  18.  
  19. </script>
[JAVASCRIPT] pobierz, plaintext


Korzystałam z tego :https://api.jquery.com/val/ (Find the value of an input box.)
Na powyższej stronie jest demo, gdzie taki kod działa jak powinien.

Ten post edytował Amakesh 10.04.2016, 14:02:48
Go to the top of the page
+Quote Post
Arcioch
post 10.04.2016, 14:16:59
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


Mniej więcej tak:
https://jsfiddle.net/gt5sLwrn/2/

Jeszcze wyjaśnienie czemu nie działał smile.gif W keyup powinieneś generować Twoje inputy bo inaczej Twoja funkcja się odpalała tylko po załadowaniu drzewa DOM. Teraz inicjuje się po zmianie wartości w polu input smile.gif

Ten post edytował Arcioch 10.04.2016, 14:19:04
Go to the top of the page
+Quote Post
tenloginjestzaje...
post 27.04.2016, 15:55:35
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Witaj szukam kodu: dodawanie do bazy z formularza bez przeładowania. Dzięki


--------------------
Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
Go to the top of the page
+Quote Post
rad11
post 27.04.2016, 15:59:27
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Jquery ajax submit serializeArray
Go to the top of the page
+Quote Post
Comandeer
post 27.04.2016, 17:14:01
Post #5





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Albo jeszcze szybciej bez jQuery: FormData → https://developer.mozilla.org/en/docs/Web/API/FormData


--------------------
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: 2.05.2025 - 06:12