Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 10

Передать input (checkbox) через ajax

09.01.2015, 13:47. Показов 6368. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть скрипт
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<script type="text/javascript" >
$(function() {
$(".submit").click(function() 
{
var url = $("#url").val();   
var name = $("#name").val();
var email = $("#email").val();
var comment = $("#comment").val();
var rassulka = $("#rassulka").val();
var dataString = 'url='+ url + '&name='+ name + '&email=' + email + '&comment=' + comment + '&rassulka=' + rassulka;
if(url=='' || name=='' || email=='' || comment=='')
{
alert('Пожалуйста, заполните все поля.');
}
else
{
$("#flash").show();
$("#flash").fadeIn(1000).html('Загрузка...');
$.ajax({
type: "POST",
url: "/order/tools/commentajax.php",
data: dataString,
cache: false,
success: function(html){
$("ol#update").append(html);
$("ol#update li:last").fadeIn("slow");
$("#flash").hide();
}
});
}return false;
}); });
</script>
и форма

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form action="#" method="post">
 
<div id="sk_com_form1">
 
<input type="hidden" id="url" value="<? echo base64_encode($_SERVER['REQUEST_URI']); ?>"/>
<input type="text" id="name" value='Ваше имя' onblur="if(this.value=='') this.value='Ваше имя';" 
                                    onfocus="if(this.value=='Ваше имя') this.value='';"/>
<input type="text" id="email" value='Email' onblur="if(this.value=='') this.value='Email';" 
                                    onfocus="if(this.value=='Email') this.value='';"/>
 
<input type="checkbox" id="rassulka" value="1">Подписаться на рассылку?<br />
<div id="sk_com_form_sub">
<input type="submit" class="submit" value=" Добавить комментарий " />
</div>
</div>
<div id="sk_com_form2">
 
<textarea id="comment" 
 onblur="if(this.value=='') this.value='Сообщение';" 
onfocus="if(this.value=='Сообщение') this.value='';">Сообщение</textarea>
 
</div>
</form>
все работает, но стоит или не стоит галка в поле checkbox, все равно значение передается,
<input type="checkbox" id="rassulka" value="1">

Заранее спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2015, 13:47
Ответы с готовыми решениями:

Передать значения Checkbox via jQuery+ajax
Нашел пример на stackoverflow. Но почему-то у меня он не работает: Форма с чекбоксами. Значения чекбоксов посылаются на обработку...

Как передать через AJAX multiple select через serialize и обратиться к этому в php
Добрый день, подскажите пожалуйста. Раньше не было множественного выбора в select, передавал данные следующим образом: ...

Передать несколько переменных через ajax
Здравствуйте. У меня в js коде появляется несколько переменных. Типа того var price=$(&quot;#price_for_js&quot;).text(); var...

4
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
09.01.2015, 14:52
SashaKK, вы сами написали это или какой-то "добряк" помог?
Цитата Сообщение от SashaKK Посмотреть сообщение
все работает
Оно может и работает, но от этой работы слёзы наворачиваются. К примеру, зачем вам проверка на пустые поля, если пустыми они быть не могут? А запись событий inline (в html-тегах), меня вообще убивает.
В общем, могу предложить такой вариант, а там решайте:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form action="#" method="post" class="my_form">
    <div id="sk_com_form1">
        <input type="hidden" name="url" id="url" value="<?php echo base64_encode($_SERVER['REQUEST_URI']);?>" required />
        <input type="text" name="name" data-placeholder="Ваше имя" required />
        <input type="text" name="email" data-placeholder="Email" required />
        <input type="checkbox" name="rassulka" value="1">Подписаться на рассылку?
        <br />
        <div id="sk_com_form_sub">
            <input type="submit" class="submit" value=" Добавить комментарий " />
        </div>
    </div>
    <div id="sk_com_form2">
        <textarea id="comment" name="comment" data-placeholder="Сообщение" required >Сообщение</textarea>
    </div>
</form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var form = $('.my_form'),
    flash = $("#flash");
$('[data-placeholder]', form).each(function (i, el) {
    $(el).val($(el).data('placeholder'));
}).on({
    focus: function () {
        var $that = $(this),
            pl = $that.data('placeholder');
        if ($.trim($that.val()) == pl) $that.val('');
    },
    blur: function () {
        var $that = $(this),
            pl = $that.data('placeholder');
        if ($.trim($that.val()) === '') $that.val(pl);
    }
});
 
form.on('submit', function (e) {
    e.preventDefault();
    var $that = $(this);
    if (checkFields($('[required]', $that))) {
        alert('Ахтунг! Пожалуйста, заполните все поля.');
        return false;
    }
    $.ajax({
        type: "POST",
        url: "/order/tools/commentajax.php",
        beforeSend: function () {
            flash.text('Загрузка...').fadeIn(1000);
        },
        complete: function () {
            flash.hide();
        },
        data: $that.serialize(),
        cache: false,
        success: function (html) {
            $("ol#update").append(html);
            $("ol#update li:last").fadeIn("slow");
        }
    });
});
function checkFields(r) {
    return r.filter(function () {
        var v = $.trim($(this).val());
        return v === '' || v == $(this).data('placeholder');
    }).length;
}
1
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 10
09.01.2015, 15:22  [ТС]
Согласен про косяки, проверка проходит на стороне пхп, и уже /order/tools/commentajax.php отдает ответ об ошибке. В яве не силен.
Пробовал ваш скрипт у меня не работает. Может конфликты какие. Вы тестили его?
Спасибо.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
09.01.2015, 15:27
Лучший ответ Сообщение было отмечено SashaKK как решение

Решение

Цитата Сообщение от SashaKK Посмотреть сообщение
Вы тестили его?
Код рабочий. Оберните его в такую конструкцию:
JavaScript
1
2
3
$(function(){
   // тут код
});
или разместите в самом низу страницы перед закрывающим тегом </body>. И версия библиотеки должна быть не ниже 1.7
1
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 10
09.01.2015, 15:39  [ТС]
Спасибо, тема закрыта.
Библиотека была старая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2015, 15:39
Помогаю со студенческими работами здесь

Передать через AJAX в PHP двумерный массив
Добрый день. Есть примерно такой код: var range = , sliderValues = ; ... sliderValues = range; Есть массив range, который...

Как записать в mysql значение отмеченного checkbox через ajax? И как удалить?
Более сузил свой поиск. Есть страница с несколькими checkbox. &lt;input type=&quot;checkbox&quot; name=&quot;po&quot; value=&quot;1&quot;&gt; И так...

Отправить через ajax массив файлов и массив полей input
Есть форма &lt;form action=&quot;test.php&quot; enctype=&quot;multipart/form-data&quot; method=post&gt; &lt;input name=tid type=hidden value=1 /&gt; &lt;input...

Передать через post параметры динамически созданных checkbox'ов
Есть HTML страничка в которой динамически в зависимости от выбранного в DropDownList объекта создаются объекты checkbox типа Т.е....

Передать через Ajax php переменную
Со страницы авторизации, идет перенаправление на главную страницу. Все данные о пользователи хранятся в php сессии.Далее на главной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru