За последние 24 часа нас посетили 18804 программиста и 1656 роботов. Сейчас ищут 1750 программистов ...

чекбоксы...

Тема в разделе "JavaScript и AJAX", создана пользователем san4ez, 28 янв 2017.

  1. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    Добрый день. Есть вот такой скрипт:

    Код (Javascript):
    1. $(document).ready (function () {
    2.     $('#button').bind('click', function () {
    3.         $.ajax ({
    4.             url: '/processnote.php',
    5.             type: 'POST',
    6.             data: ({nname: $('#nname').val(), comment: $('#comment').val(), ondate: $('#ondate').val(), date: $('#date').val(), ontime: $('#ontime').val(), time: $('#time').val()}),
    7.             dataType: 'html',
    8.             beforeSend: funcBefore,
    9.             success: funcSuccess
    10.         });
    11.     });
    12. });
    переменные ondate и ontime это чекбокс в форме, проблема в том, что он передается даже когда не выбран. Подскажите, как их правильно считывать с формы?
     
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    нихрена не понял, ладно буду уходить от чекбоксов тогда, спасибо
     
  4. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @san4ez есть две функции, ты им в аргумент передаёшь объект формы (тег form) и получаешь сразу все данные этой формы.
     
    san4ez нравится это.
  5. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    все понял, спасибо.
     
  6. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    но все равно... работает не по клику а вообще всегда, что ни есть хорошо...
     
  7. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    вызывай только когда нужно
     
    san4ez нравится это.
  8. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    да чет я подумал, нафиг вообще эта ajax муть нужна) спасибо за помощь.
     
  9. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Муть полная! На сколько я знаю, ajax - часть JQuery, а JQuery - разработка гугл.
    Ну и что это самая крупная и пряморукая IT компания в мире...
    Не пользуйся Ajax-ом и Веб-сокетами тоже не вздумай. Только html css php и mysql, хотя нет.. последние две тоже муть та еще...
    --- Добавлено ---
    Это они муть творят. Твой код тут совершенно не при чем...
     
  10. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    ну лично мне она ничем неполезна, поэтому ДЛЯ МЕНЯ эта муть не нужна) так понятнее?)
     
  11. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    AJAX это асинхронный JavaScript и XML .Это подход к построению интерактивных пользовательских веб интерфейсов,который поддерживает библиотека JQuery,которую в свою очередь написал Джон Резиг, который не имеет никакого отношения к Гугл
     
    #11 alexblack, 30 янв 2017
    Последнее редактирование: 30 янв 2017
    TeslaFeo нравится это.
  12. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Это твоё личное дело, что учить, а что нет. А насчет "неполезна" я бы поспорил ибо ajax снижает нагрузку на сервер, увеличивает комфорт посетителей и дает преимущество на теми, кто его не использует :)
    --- Добавлено ---
    а к чему он имеет отношение?
     
  13. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    Сколько раз мне нужно повторить словосочетание "лично мне", что бы ты от меня отстал?)
     
  14. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Да мне вообще всё равно)) я же тебе говорю, это твоё личное дело... можешь не учить, но ajax очень полезен.
     
  15. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    TeslaFeo нравится это.
  16. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    как выяснилось, с чекбоксами он не работает
     
  17. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Охренеть, а в моей голове от куда то взялясь связь гугл и JQuery. От куда эта хрень в моей голове)))
    @alexblack спасибо тебе большое за то, что одним заблуждением в моей голове стало меньше))
    --- Добавлено ---
    чушь... быть такого не может...
     
  18. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    оО вообще не то написал) видимо спать пора, имел ввиду не работает так, как мне надо, чекбокс он считывает норм
     
  19. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Чтобы работало по клику попробуй так:
    Код (Javascript):
    1. $('#button').click(function(){ ...
    --- Добавлено ---
    @san4ez а как тебе надо?
     
    san4ez нравится это.
  20. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Да не за что)
     
  21. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    @san4ez
    ajax просто отправляет данные, получает данные. Он сам ничего не считывает. Это просто способ обратиться к серверу. Данные с твоих чекбоксов нужно снять самому.
     
    san4ez нравится это.
  22. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    @TeslaFeo пробовал так, не работает. точнее вместо 1 записи делает столько, сколько кликов было по всем пунктам формы
     
  23. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    Сделал, как надо. Всем спасибо.
     
  24. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    @san4ezпокажи как сделал. И HTML тоже :)
     
  25. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    ну вот форма
    HTML:
    1. <div id="info"></div>
    2.     Добавить заметку:<br>
    3.     <form method="POST" action="index.php" id="myform">
    4.     <p><input type="text" name="nname" placeholder="Заголовок заметки"></p>
    5.     <p><input type="text" name="comment" placeholder="Описание (необязательно)"></p>
    6.     <p><input type="checkbox" name="ondate"> Включить дату</p>
    7.     <p><input type="date" name="date"></p>
    8.     <p><input type="checkbox" name="ontime"> Включить время</p>
    9.     <p><input type="time" name="time"></p>
    10.     <p><input type="submit" id="submit" value="Добавить"></p>
    11.     </form>
    вот js
    Код (Javascript):
    1. $(function() {
    2.     mysubmit(false, $('#myform'));
    3.     $("#myform").on(function(event) {
    4.         mysubmit(event, this);
    5.     });
    6. });
    7.  
    8. function mysubmit(event, obj)
    9. {
    10.     if (event) {
    11.         event.preventDefault();
    12.     }
    13.     $('#submit').click(function(){
    14.     $.ajax({
    15.         method: "POST",
    16.         url: "processnote.php",
    17.         data: $(obj).serialize(),
    18.         beforeSend: funcBefore,
    19.         success: funcSuccess
    20.     });
    21. });
    22. }
    обработчик думаю незачем) там просто запись в бд и надпись успешно или нет)
    --- Добавлено ---
    функции в js еще забыл
    Код (Javascript):
    1. function funcBefore () {
    2.     $('#info').text ('Ожидание данных...');
    3. }
    4.  
    5. function funcSuccess (data) {
    6.     $('#info').text (data);
    7. }
    ну тоже в принципе это не особо важно
     
    TeslaFeo нравится это.