Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2018, 14:36   #11
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Такой вопрос ещё, как тогда отлавливать состояния чека?
В старом варианте я отлавливал this.id=checked.id получалось так vide1=true. Щас как быть?
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 12.07.2018 в 14:38.
spoon100500 вне форума Ответить с цитированием
Старый 12.07.2018, 15:04   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

не совсем понял вопрос.

поиграйтесь с таким PHP кодом:

PHP код:
<html>
<head>
  <meta charset="utf-8">
</head>
<body>

<?php
if(isset($_POST['filter_ver'])){ ?>
    <h1>Форму отправили в обработчик</h1><hr><br>

    <?php
    
if(isset($_POST['cat'])) {
        echo 
"Выбраны цвета с кодами: <br>\n";
        foreach (
$_POST['cat'] as $key) {
               echo 
$key."<br>";
        }
    }
    else{ 
?>
          Вы не выбрали ни один цвет (все чекбоксы пусты)<br>
    <?php
    
}  
}
?>
<hr>
<form method="post">
<ul>
<li><input type="checkbox" id="ver1" name="cat[]" value="КодКрасный" /><label for="ver1">Красный</label></li>
<li><input type="checkbox" id="ver2" name="cat[]" value="КодОранж" /><label for="ver2">Оранжевый</label></li>
<li><input type="checkbox" id="ver3" name="cat[]" value="КодGreen" /><label for="ver3">Зелёный</label></li>
<li><input type="checkbox" id="ver4" name="cat[]" value="КодНастроенияСиний" /><label for="ver4">синий</label></li>
</ul>
<input type="submit" name="filter_ver" value="Отправить">
</form>
</body>
</html>
если после этого останутся вопросы - задавайте.
только желательно чётко и конкретно. с примером разметки.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.07.2018, 15:44   #13
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Обработчик непосредственно на чеках, не через форму
Код:
var str= '';
var str1= '';
var strplast= '';//показываем все Вертикальные ткани при загрузки
var trans ='';//id прозрачности Вертикалок
var transgor ='';//id Тип ламелей горизонталок

$(document).on('click', 'input[id*="ver-"]', function() { //фильтр Цвета для Вертикалок
  str = $('input:not([id*="ver-"])').serialize();
  str1 = $('input[id*="ver-"]').map(function() {
  return this.id + "=" + this.checked;}).get().join("&");
  if (str1 != "" && str != ""){str += "&" + str1;}
  else {str += str1;}
transgor = str1;//сюда передаем id равное true или false
  filter();
});

function filter() {
$.ajax({
    type: 'POST',
    url: 'categori.php',
    data: {name:str1,//id чекбокса/радио
	paramName:namestr,//name ткани
	plast:strplast,//id вертикалок
	transparency:trans,//id Прозрачности вертикалок
	transgorid:transgor},//id Тип ламелей горизонталок
	beforeSend: function(){
    $('.res').html('<div class="load"><hr/><hr/><hr/><hr/></div>');},
    success: function(svet_rezult) {
    $("#block-tovar-grid .res").html(svet_rezult);
	var dd = $(".block").size();//Выводим предупрежедение если ткани нет
       if (dd < 1){$('.res').html('<p style="color:red; font-weight:bold; font-size:24px; font-style:italic;">Нет такой ткани</p>');} }
  });
};
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 12.07.2018 в 16:35.
spoon100500 вне форума Ответить с цитированием
Старый 12.07.2018, 16:10   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от spoon100500 Посмотреть сообщение
Обработчик непосредственно на чеках, не через форму
и что это меняет?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.07.2018, 16:17   #15
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Если тут
Код:
return this.id + "=" + this.checked;
Я заменю на
Код:
return this.name+ "=" + this.checked;
То получу name[], а не массив
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 12.07.2018, 16:33   #16
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Как передать массив cat[] переменной для отправки через ajax?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 12.07.2018, 16:44   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

да можно хоть всю форму за один раз передать.
это делается ОДНОЙ строчкой кода:
Код:
var myform = $('form[name="filter_ver"]').serialize();
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.07.2018, 09:53   #18
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Сделал так
PHP код:
parse_str($_POST['name']);
foreach (
$cat as $key) {
if (
$key == 0){$rol 'WHERE color = "0"'; include 'tkani/gor_tkani.php';}
if (
$key == 1){$rol 'WHERE color = "1"'; include 'tkani/gor_tkani.php';}
if(
$key == NULL){echo'Пусто';}

Но когда чеки не выбраны то ошибка
Warning: Invalid argument supplied for foreach() in D:\OSPanel\domains\mysait\categori. php on line 10
Линия 10 это
Код:
foreach ($cat as $key) {
Вроде как NULL но плюсом идет ошибка.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 13.07.2018, 10:37   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от spoon100500 Посмотреть сообщение
foreach ($cat as $key) {
а что такое переменная $cat и откуда она внезапно взялась?
Это что, игра такая? Нужно угадать, какой код Вы от нас скрыли и найти в нём ошибку?!

повторю:
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
если после этого останутся вопросы - задавайте.
только желательно чётко и конкретно. с примером разметки.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.07.2018, 11:12   #20
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

PHP код:
parse_str($_POST['name'],$cat);
foreach (
$cat as $key) {
if (
$key[0] == 0){$rol 'WHERE color = "0"'; include 'tkani/gor_tkani.php';}
if (
$key[0] == 1){$rol 'WHERE color = "1"'; include 'tkani/gor_tkani.php';}
}

Так работает, но показывает только первое выбранное значение т.е. подходит для радио.

Мне же нужно чтобы показывали те чеки которые выбраны.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите с кодом, плиз! spoon100500 JavaScript, Ajax 25 16.10.2016 14:27
подскажите с кодом: Напишите программу, принимающую на вход текстовый CSV-файл с таблицей и преобразующую эту таблицу в XML формат dima4239 Паскаль, Turbo Pascal, PascalABC.NET 20 01.10.2015 13:20
. Подскажите пожалуйста как исправить ошибку с кодом 18. abatfarda PHP 18 30.03.2015 00:04
Подскажите, что не так с кодом Grisha248 Помощь студентам 2 24.05.2009 16:41
Подскажите с кодом процедуры ButtonClick KARUSHEV Помощь студентам 3 23.03.2009 14:01