За последние 24 часа нас посетили 16662 программиста и 1645 роботов. Сейчас ищут 1787 программистов ...

Тупик Js-Ajax-PHP

Тема в разделе "JavaScript и AJAX", создана пользователем Stinger1231, 11 дек 2017.

  1. Stinger1231

    Stinger1231 Новичок

    С нами с:
    4 окт 2017
    Сообщения:
    9
    Симпатии:
    0
    Проблема следующая, ajax отправляет input type radio все возможные значения!
    Имеется такая функция которая собирает весь контент в блоке div с определённым id.
    Сделать нужно следующее, продолжение в коде...

    function getData(obj_form) {
    var hData = {};
    $('input, textarea, select, td', obj_form).each(function () {

    if (this.name && this.name != '') {// сделать такую же проверку на input type radio если checker отсутствует не передавать его.
    hData[this.name] = this.value;
    console.log('hData[' + this.name + '] = ' + hData[this.name]);
    }

    });
    return hData;
    };
     
  2. Stinger1231

    Stinger1231 Новичок

    С нами с:
    4 окт 2017
    Сообщения:
    9
    Симпатии:
    0
    Проблема следующая, ajax отправляет input type radio все возможные значения!
    Имеется такая функция которая собирает весь контент в блоке div с определённым id.
    Сделать нужно следующее, продолжение в коде...

    function getData(obj_form) {
    var hData = {};
    $('input, textarea, select, td', obj_form).each(function () {

    if (this.name && this.name != '') { // сделать такую же проверку на input type radio если checker отсутствует не передавать его.
    hData[this.name] = this.value;
    console.log('hData[' + this.name + '] = ' + hData[this.name]);
    }

    });
    return hData;
    };
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    ты понимаешь что ты сам себе геморой выростил ?
    при отправке данных обычной формы с
    что видишь в отладке ? То что выбралось то и отправилось. Верно!

    а ты что за велосипед делаешь ?

    затести и выложи отдельный код тестирующий, дабы дальше покумекали. Ибо реал лень тест писать за тебя.;)
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Код (Text):
    1. !$(this).is("checked")
     
  5. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
  6. Stinger1231

    Stinger1231 Новичок

    С нами с:
    4 окт 2017
    Сообщения:
    9
    Симпатии:
    0
    Я могу решить это так!

    function radioData(radio_form) {
    var rData = {};
    $('input:radio:checked, input:hidden', radio_form).each(function () {


    if (this.name && this.name != '') {
    rData[this.name] = this.value;
    console.log('rData[' + this.name + '] = ' + rData[this.name]);
    }


    });
    return rData;
    };

    Но не хотелось бы делать отдельную функцию радио кнопок,
    если бы я мог дописать функцию человеческим языком

    если обьект == радио кнопка и не является выбранной , отсеиваем её, я уверен это очень просто, просто пока слабенько в этом направлении.
     
  7. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
  8. Stinger1231

    Stinger1231 Новичок

    С нами с:
    4 окт 2017
    Сообщения:
    9
    Симпатии:
    0
  9. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
  10. Stinger1231

    Stinger1231 Новичок

    С нами с:
    4 окт 2017
    Сообщения:
    9
    Симпатии:
    0
    Слабенько пока Js
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    PHP:
    1. -----------------------------29062217616781
    2. Content-Disposition: form-data; name="b"
    3.  
    4. on
    5. -----------------------------29062217616781
    6. Content-Disposition: form-data; name="d"
    7.  
    8. on
    9. -----------------------------29062217616781--
    PHP:
    1. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    2. <script>
    3. $(function ()
    4. {
    5.     $( 'body' ).on( 'submit', '#radioAjax', function ( e )
    6.     {
    7.         e.preventDefault();
    8.        
    9.         var item = new FormData( $( this ).get(0) );
    10.        
    11.         $.ajax(
    12.         {
    13.             url: $( this ).attr( 'action' ),
    14.             type: $( this ).attr( 'method' ),
    15.             contentType: false, // важно - убираем форматирование данных по умолчанию
    16.             processData: false, // важно - убираем преобразование строк по умолчанию
    17.             data: item
    18.         });
    19.     });
    20. });
    21. </script>
    22.  
    23. <form method="post" id="radioAjax" action="/">
    24. <input type="radio" name="a">
    25. <input type="radio" name="b">
    26. <input type="radio" name="c">
    27. <input type="radio" name="d">
    28. <input type="radio" name="f">
    29. <input type="submit">
    30. </form>
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Попроси просто любого из модераторов перенести. К примеру, @Fell-x27. А то им всё равно твои дубли чистить.