Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ajax problem z dublowaniem zmiennej.
Grafnastyk
post 21.04.2018, 11:27:41
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

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


Witam, pracuje na frameworku Codeigniter. Posiadam listę użytkowników, którą generuje foreachem w php

  1. <?= form_open('', array('id' => $val['id'] )); ?>
  2. <input type="submit" class="btn <?= ($val['active'] == 0)? 'btn-danger' : 'btn-success'; ?>" onclick="ajaxReq(<?= $val['id'] ?>);" value="<?= $this->main->active()[$val['active']]; ?>">
  3. <input type="hidden" name="active" value="<?= $this->main->active()[$val['active']]; ?>"/>
  4. <input type="hidden" name="id" value="<?= $val['id']; ?>">
  5. <?= form_close(); ?>


Na podstawie onclicka odwołuję się do ajaxa w zależności od danego

  1. function ajaxReq(id) {
  2. $(document).on('submit', id, function(event){
  3. console.log(id);
  4. event.preventDefault();
  5. $.ajax({
  6. url: "changeActive",
  7. method: "post",
  8. data: $('#' + id).serialize(),
  9. async: true,
  10. success: function (msg) {
  11. if(msg !== false){
  12. id = undefined;
  13. success('Uprawnienia zmienione');
  14. $('#table').load(' #table');
  15. } else {
  16. failed('Wystąpił błąd');
  17. }
  18. }
  19. });
  20. });
  21. }


Pierwszy czy drugi ajax działa dobrze, ale po każdym kolejnym dubluje mi się pole undefined i przy 15-20 ajaxie strona po prostu się zawiesza :/ Nie mam już pomysłu jak to rozgryźć. Czy byłby ktoś w stanie podsunąć jakąś wskazówkę ? Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
LowiczakPL
post 23.04.2018, 14:14:41
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


Taka mała wskazówka, jeśli robisz wysyłanie formularza przez AJAX to nie rób inputa ani buttona typu SUBMIT

zrób sobie button type button

Ten post edytował LowiczakPL 23.04.2018, 14:15:08


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
aras785
post 23.04.2018, 21:32:51
Post #3





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


nie wiem czy o to chodzi ale spróbuj:

  1. $(document).off('submit').on('submit', id, function(event){


i daj znać smile.gif
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: 28.03.2024 - 17:19