Всем привет, такой вопрос не могу сообразить что я делаю не так. нужна помощь код HTML формы HTML: <div class="row"> <div class="col-md-8 col-md-offset-2 eco--mt70"> <form action="" class="eco--mc--form1"> <div class="eco--newsletter--1"> <div class="eco--inner"> <input type="email" name="p_email" placeholder="Введите адрес Email" class="p_email"> <button class="p_button eco--btn" id="p_button" >Подписаться <i class="fa-check "></i></button> </div> <br> <input type="checkbox" name="check_botton" class="check_botton">Я прочитал(а) и соглашаюсь с <a href="http://korobmarket.ru/politic.html"> политикой конфиденциальности</a> <span class="eco--btm--txt" id="subscription"><i class="fa fa-lock"></i> мы никогда не делимся вашей электронной почтой с другими</span> </div> </form> </div> </div> Далее ajax Код (Javascript): $(document).ready(function(){ $('button.p_button').on('click', function(e) { e.preventDefault(); var email =$('input.p_email').val(); var hed =$('input.check_botton').is(':checked'); $.ajax({ method: "POST", url: "subscribe.php", data: { email_php: email, hed_php: hed, }, success: (function(data) { $('#subscription').html(data); }) }); }); }); Так вот в чем весь вопрос, в файле php var_dump отображает массив а когда начинаешь писать код какой нибудь php значение checkbox не видит. будь это true, false ему плевать) как это исправить? код var_dump следующий array(2) { ["email_php"]=> string(3) "123" ["hed_php"]=> string(5) "true" }
Значение и не увидит, вы передаёте результат проверки, он всегда true/false. Для передачи значение .val() передавайте, если чекбокс будет выбран, значение передастся
Код (Javascript): $(document).ready(function(){ $('button.p_button').on('click', function(e) { e.preventDefault(); var email =$('input.p_email').val(); var hed =$('input.check_botton').val(); $.ajax({ method: "POST", url: "subscribe.php", data: { email_php: email, hed_php: hed, }, success: (function(data) { $('#subscription').html(data); }) }); }); }); если сделать как я понял так. а input задать например value="1", то он и передает всегда 1 не зависимо от того, нажат или нет((((( не соображу как сделать. --- Добавлено --- а если value не задавать, то только "on" и вижу array(2) { ["email_php"]=> string(0) "" ["hed_php"]=> string(2) "on" }
HTML: var hed = 123; if ($('.check_botton').prop('checked')) { hed = 'check_botton_checked="321"'; } не совсем понял как твой код юзать по применил это немного по другому, спасибо, решил проблему вот так. )