Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie danych z formularza i dynamiczne dodawanie pól
Forum PHP.pl > Forum > Po stronie przeglądarki
Amakesh
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.
Arcioch
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
tenloginjestzajety
Witaj szukam kodu: dodawanie do bazy z formularza bez przeładowania. Dzięki
rad11
Jquery ajax submit serializeArray
Comandeer
Albo jeszcze szybciej bez jQuery: FormData → https://developer.mozilla.org/en/docs/Web/API/FormData
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.