Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][AJAX][JS] Pobranie danych z checkboxow i przeslanie ich do pliku suggest.php
Turqus
post 28.04.2017, 15:00:11
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.04.2017

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


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.

Ten post edytował Turqus 28.04.2017, 15:26:04
Go to the top of the page
+Quote Post
gitbejbe
post 28.04.2017, 23:17:36
Post #2





Grupa: Zarejestrowani
Postów: 515
Pomógł: 63
Dołączył: 27.08.2012

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


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 !

Ten post edytował gitbejbe 28.04.2017, 23:19:09
Go to the top of the page
+Quote Post
Turqus
post 30.04.2017, 13:45:43
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.04.2017

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


Wartości value mam zajęte, a te checkboxy muszą same pobrać z bazy wartość którą później trzeba dodać i wyświetlić
Go to the top of the page
+Quote Post
gitbejbe
post 30.04.2017, 19:40:54
Post #4





Grupa: Zarejestrowani
Postów: 515
Pomógł: 63
Dołączył: 27.08.2012

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


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

Ten post edytował gitbejbe 30.04.2017, 19:43:09
Go to the top of the page
+Quote Post
Turqus
post 4.05.2017, 23:42:13
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.04.2017

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


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?




Go to the top of the page
+Quote Post
wolguy
post 9.05.2017, 11:34:18
Post #6





Grupa: Zarejestrowani
Postów: 219
Pomógł: 10
Dołączył: 9.01.2005

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


nie wiem, czy to ważne, ale konstruując adres url metodą GET, musisz rozdzielać parametry ampersandem
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: 29.03.2024 - 02:35