Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX][JS] Pobranie danych z checkboxow i przeslanie ich do pliku suggest.php
Forum PHP.pl > Forum > XML, AJAX
Turqus
Witam mam problem otóż mam formularz:
  1. <section id="main-container">KWOTA KOŃCOWA</section>
  2.  
  3.  
  4. <label for="opcje">Opcje (Proszę zaznaczyć przynajmniej jedną z opcji):</label>
  5. <p>
  6. Z wyżywieniem <input type="checkbox" name="opcja[]" value="food" data-parsley-mincheck="1" class="checkIt" /><br>
  7. Z dojazdem <input type="checkbox" name="opcja[]" value="drive" class="checkIt" /><br>
  8. Z ubezpieczeniem <input type="checkbox" name="opcja[]" value="insurance" class="checkIt"/><br>
  9. </p>


I chce by po zaznaczeniu checkboxa zachodziło żądanie do pliku suggest.php tam dodawało do kwoty początkowej (na razie nie ma jej ustalonej $suma=0) i zwracało sumę na stronie formularza. Problem jest taki, że muszę przesyłać automatycznie wartości zaznaczonych 3 checkboxow inaczej mi chyba nie będzie sumowało to tak prawidłowo i stoję w miejscu nie wiem co i jak zrobić, przeglądając strony o AJAX wszędzie różne rozwiązania i nie mogę go nigdzie przerobić by zrozumieć i dlatego zielony w tym jestem, na chwilę obecną mam taki skrypt W JS:

  1. <script type="text/javascript">
  2. $('.checkIt').change(function() {
  3. // this <- kliknięty checkbox
  4.  
  5. if (this.checked === false) {
  6. return;// jeśli nie jest zaznaczony,
  7. // wyjdź z funkcji
  8. }
  9.  
  10. // utworzenie urla
  11. var value = this.value;
  12. var url = 'suggest.php?q=' + value;
  13.  
  14. var data = {
  15.  
  16. };
  17.  
  18. $.get(url, data, function(response) {
  19. // response <- string, który zwrócił server
  20.  
  21. console.log(data);
  22. $('#main-container').html(data);
  23. $( document ).ajaxStart(function() {
  24. $( "#main-container" ).show();
  25. });
  26. });
  27.  
  28. });





Proszę o pomoc.

A i jeszcze dodam, że jak klikam checkbox to przesyła zmienną, http://localhost/tester/suggest.php?q=food , http://localhost/tester/suggest.php?q=insurance tylko nie wiem co dalej.
gitbejbe
Po co ci do tego ajax+php ? Wnioskuje że jest to jakiś ala koszyk ? Przy Twojej zerowej wiedzy o programowaniu, wątpię że naprawdę potrzebujesz robić sumę po stronie serwera po zaznaczeniu checkboxa biggrin.gif, dlatego najzwyczajniej w świecie nadaj dla inputów wartości o które mają powiększać sumę, i javascriptem sumuj wartość początkową z wartością zaznaczonego inputa, po czym wyświetl wynik tam gdzie potrzebujesz. Po wypełnieniu formularza -> naciśnięciu submit, w phpie sprawdzisz formularz i finalizujesz temat.

ps. nie szukaj w internecie "gotowców" bo ich nie znajdziesz, postaraj się sam do tego dojść jak co działa, poczytaj o technologiach/funkcjach które stosujesz , debuguj ile się da a przekonasz się że problem tkwi tylko w lenistwie. Twój problem powinny rozwiązać 4 linijki kodu. Do roboty !
Turqus
Wartości value mam zajęte, a te checkboxy muszą same pobrać z bazy wartość którą później trzeba dodać i wyświetlić
gitbejbe
atrybut value można zastąpić dowolnie innym - to nie problem. Wartości dla checkboxów możesz ustalić za pomocą php przy generowaniu strony. Przez te kilka chwil które upłynie na wypełnianiu formularza przez użytkownika, raczej ceny się nie zmienią ? A jeśli takie masz założenie że jednak mogą się zmienić, to nawet pobierając ceny dopiero po kliknięciu w checkboxy, ceny mogą być i tak nie aktualne w momencie gdy użytkownik naciśnie submit.Zrób tak jak Ci napisałem: ustal dla inputów wartości w php, zrób najprostszą dynamiczną sumę beż żadnych ajaxów, a na koniec dla pewności że wszystko się zgadza możesz wyświetlić stronę podsumowania i tyle. Tutaj ajax naprawdę jest totalnie bez sensu
Turqus
Takie pytanie a jak zrobic w przypadku:

<label for="opcje">Opcje (Proszę zaznaczyć przynajmniej jedną z opcji):</label>
<p>
Z wyżywieniem <input type="checkbox" name="opcja[]" value="food" data-parsley-mincheck="1" class="checkIt" /><br>
Z dojazdem <input type="checkbox" name="opcja[]" value="drive" class="checkIt" /><br>
Z ubezpieczeniem <input type="checkbox" name="opcja[]" value="insurance" class="checkIt"/><br>
</p>


Po klasie np zmieniajac na 1checkbox... checkit1 2 checkit2 3 checkit3

Zeby przesyłał parametry ajaxem w sposob:
"suggest.php?q="+insert,

jeśli dwa

"suggest.php?q="+insert+'b='insert2'

a jesli 3

"suggest.php?q="+insert+'b='insert2'+'c='insert3'

Albo jakos tak podobnie bym mógł przesłać 3 parametry w oddzielnych zmiennych

Jakby cos takiego wygladalo?




wolguy
nie wiem, czy to ważne, ale konstruując adres url metodą GET, musisz rozdzielać parametry ampersandem
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-2024 Invision Power Services, Inc.