Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ XML, AJAX _ Ajax problem z dublowaniem zmiennej.

Napisany przez: Grafnastyk 21.04.2018, 11:27:41

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

  1. <?= form_open('', http://www.php.net/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).http://www.php.net/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.

Napisany przez: LowiczakPL 23.04.2018, 14:14:41

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

Napisany przez: aras785 23.04.2018, 21:32:51

nie wiem czy o to chodzi ale spróbuj:

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


i daj znać smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)