Добрый день. Есть вот такой скрипт: Код (Javascript): $(document).ready (function () { $('#button').bind('click', function () { $.ajax ({ url: '/processnote.php', type: 'POST', data: ({nname: $('#nname').val(), comment: $('#comment').val(), ondate: $('#ondate').val(), date: $('#date').val(), ontime: $('#ontime').val(), time: $('#time').val()}), dataType: 'html', beforeSend: funcBefore, success: funcSuccess }); }); }); переменные ondate и ontime это чекбокс в форме, проблема в том, что он передается даже когда не выбран. Подскажите, как их правильно считывать с формы?
http://code.runnable.com/VtarhoqKR9o9z8_v/jquery-ajax-form-submit-serialize-for-php ещё есть formData https://learn.javascript.ru/xhr-forms#formdata
@san4ez есть две функции, ты им в аргумент передаёшь объект формы (тег form) и получаешь сразу все данные этой формы.
Муть полная! На сколько я знаю, ajax - часть JQuery, а JQuery - разработка гугл. Ну и что это самая крупная и пряморукая IT компания в мире... Не пользуйся Ajax-ом и Веб-сокетами тоже не вздумай. Только html css php и mysql, хотя нет.. последние две тоже муть та еще... --- Добавлено --- Это они муть творят. Твой код тут совершенно не при чем...
AJAX это асинхронный JavaScript и XML .Это подход к построению интерактивных пользовательских веб интерфейсов,который поддерживает библиотека JQuery,которую в свою очередь написал Джон Резиг, который не имеет никакого отношения к Гугл
Это твоё личное дело, что учить, а что нет. А насчет "неполезна" я бы поспорил ибо ajax снижает нагрузку на сервер, увеличивает комфорт посетителей и дает преимущество на теми, кто его не использует --- Добавлено --- а к чему он имеет отношение?
Да мне вообще всё равно)) я же тебе говорю, это твоё личное дело... можешь не учить, но ajax очень полезен.
Охренеть, а в моей голове от куда то взялясь связь гугл и JQuery. От куда эта хрень в моей голове))) @alexblack спасибо тебе большое за то, что одним заблуждением в моей голове стало меньше)) --- Добавлено --- чушь... быть такого не может...
оО вообще не то написал) видимо спать пора, имел ввиду не работает так, как мне надо, чекбокс он считывает норм
Чтобы работало по клику попробуй так: Код (Javascript): $('#button').click(function(){ ... --- Добавлено --- @san4ez а как тебе надо?
@san4ez ajax просто отправляет данные, получает данные. Он сам ничего не считывает. Это просто способ обратиться к серверу. Данные с твоих чекбоксов нужно снять самому.
@TeslaFeo пробовал так, не работает. точнее вместо 1 записи делает столько, сколько кликов было по всем пунктам формы
ну вот форма HTML: <div id="info"></div> Добавить заметку:<br> <form method="POST" action="index.php" id="myform"> <p><input type="text" name="nname" placeholder="Заголовок заметки"></p> <p><input type="text" name="comment" placeholder="Описание (необязательно)"></p> <p><input type="checkbox" name="ondate"> Включить дату</p> <p><input type="date" name="date"></p> <p><input type="checkbox" name="ontime"> Включить время</p> <p><input type="time" name="time"></p> <p><input type="submit" id="submit" value="Добавить"></p> </form> вот js Код (Javascript): $(function() { mysubmit(false, $('#myform')); $("#myform").on(function(event) { mysubmit(event, this); }); }); function mysubmit(event, obj) { if (event) { event.preventDefault(); } $('#submit').click(function(){ $.ajax({ method: "POST", url: "processnote.php", data: $(obj).serialize(), beforeSend: funcBefore, success: funcSuccess }); }); } обработчик думаю незачем) там просто запись в бд и надпись успешно или нет) --- Добавлено --- функции в js еще забыл Код (Javascript): function funcBefore () { $('#info').text ('Ожидание данных...'); } function funcSuccess (data) { $('#info').text (data); } ну тоже в принципе это не особо важно