Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

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

поиграйтесь с таким 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, 16:44   #13
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

Обработчик непосредственно на чеках, не через форму
Код:

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 в 17:35.
spoon100500 вне форума   Ответить с цитированием
Старый 12.07.2018, 17:10   #14
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,499
Репутация: 5308
По умолчанию

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

Если тут
Код:

return this.id + "=" + this.checked;

Я заменю на
Код:

return this.name+ "=" + this.checked;

То получу name[], а не массив
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 12.07.2018, 17:33   #16
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

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

да можно хоть всю форму за один раз передать.
это делается ОДНОЙ строчкой кода:
Код:

var myform = $('form[name="filter_ver"]').serialize();

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 13.07.2018, 10:53   #18
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

Сделал так
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, 11:37   #19
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,499
Репутация: 5308
По умолчанию

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

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

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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


07:31.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru