Проблема следующая, 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; };
Проблема следующая, 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; };
ты понимаешь что ты сам себе геморой выростил ? при отправке данных обычной формы с что видишь в отладке ? То что выбралось то и отправилось. Верно! а ты что за велосипед делаешь ? затести и выложи отдельный код тестирующий, дабы дальше покумекали. Ибо реал лень тест писать за тебя.
Я могу решить это так! 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; }; Но не хотелось бы делать отдельную функцию радио кнопок, если бы я мог дописать функцию человеческим языком если обьект == радио кнопка и не является выбранной , отсеиваем её, я уверен это очень просто, просто пока слабенько в этом направлении.
PHP: -----------------------------29062217616781 Content-Disposition: form-data; name="b" on -----------------------------29062217616781 Content-Disposition: form-data; name="d" on -----------------------------29062217616781-- PHP: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function () { $( 'body' ).on( 'submit', '#radioAjax', function ( e ) { e.preventDefault(); var item = new FormData( $( this ).get(0) ); $.ajax( { url: $( this ).attr( 'action' ), type: $( this ).attr( 'method' ), contentType: false, // важно - убираем форматирование данных по умолчанию processData: false, // важно - убираем преобразование строк по умолчанию data: item }); }); }); </script> <form method="post" id="radioAjax" action="/"> <input type="radio" name="a"> <input type="radio" name="b"> <input type="radio" name="c"> <input type="radio" name="d"> <input type="radio" name="f"> <input type="submit"> </form>
Попроси просто любого из модераторов перенести. К примеру, @Fell-x27. А то им всё равно твои дубли чистить.