Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как создать поле со списком?

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: Andrey_V   (07.01.2006 в 23:16)   письмо автору
 
   для: Andrey_V   (07.01.2006 в 21:31)
 

Поставил кнопочку. Но там опять какие-то заморочки. Попробовал всяко-разноэ И получился приемлимый вариант таким:
в первом select оставил

onchange='this.form.submit()'
/ во стором и третьем - убрал. Стало все срабатывать нормально. Конечно есть небольшое неудобство: страница обновляется при выборе только в первом select/ Зато все остальное работает нормально. Т.е. первый select - выбор раздела товаров и услуг, второй и третий - представление(кратко-полно) и сортировка. Так теперь при изменении представления и сортировки никаких действий не производится, но когда изменяем раздел товаров и услуг - все изменяется, а правильный выбор в select(ах) остается.
Конечно, хотелось бы, чтобы обновление происходило при всех выборах, но это все-таки решение на 90 процентов.
Если вдруг мелькнут какие-то мысли по решению такой проблемы - сообщите, пожалуйста!

Большое спасибо за очень ценные и очень конкретные советы!!!

   
 
 автор: Andrey_V   (07.01.2006 в 21:31)   письмо автору
 
   для: cheops   (07.01.2006 в 20:24)
 

Первую часть по удалению сделал своими руками.
А как добавить обычную кнопку?

   
 
 автор: cheops   (07.01.2006 в 20:24)   письмо автору
 
   для: Andrey_V   (07.01.2006 в 15:13)
 

Уберите событие onchange='this.form.submit()' во всех <select> и поставьте в HTML-форме обычную кнопку.

   
 
 автор: Andrey_V   (07.01.2006 в 15:13)   письмо автору
 
   для: cheops   (07.01.2006 в 13:37)
 

Поменял (выделено жирным).
Результат. Когда меняем что-то в одном списке в другом ничего не меняется.
Но!
Если переходим в другой список, то предыдущий сразу сбрасывается в ноль (переходит на значение по умолчанию)
Вывел внизу два эха, чтобы нагляднее было видно. Может быть попробуете у себя? А то у меня скоро мозги расплавятся
===================================
<?php
$arr_2[1] = "Краткий";
$arr_2[2] = "Страницы";
echo "<form name=first method=post>";
if(count($arr_2) > 0)
{
echo "<select name=id_catalog_2 onchange='this.form.submit()'>";
echo "<option value=0>Таблица</option>";
foreach($arr_2 as $index => $value)
{
if($index == $_POST['id_catalog_2']) $selected = "selected";
else $selected = "";
echo "<option value=$index $selected>$value</option>";
}
echo "</select>";
}
echo "</form>";
// Если ничего не выбрано - выбираем значение по умолчанию
if(empty($_POST['id_catalog_2'])) $_POST['id_catalog_2'] = 0;
//-----------------------------------------------------
//Задание порядка сортировки
$arr_3[1] = "Производитель";
$arr_3[2] = "Цена";
echo "<form name=second method=post>";
if(count($arr_3) > 0)
{
echo "<select name=id_catalog_3 onchange='this.form.submit()'>";
echo "<option value=0>Наименование</option>";
foreach($arr_3 as $index => $value)
{
if($index == $_POST['id_catalog_3']) $selected = "selected";
else $selected = "";
echo "<option value=$index $selected>$value</option>";
}
echo "</select>";
}
echo "</form>";
// Если ничего не выбрано - выбираем значение по умолчанию
if(empty($_POST['id_catalog_3'])) $_POST['id_catalog_3'] = 0;

echo "Первый: ".$_POST['id_catalog_2'];
echo "Второй: ".$_POST['id_catalog_3'];
?>
=============

   
 
 автор: cheops   (07.01.2006 в 13:37)   письмо автору
 
   для: Andrey_V   (07.01.2006 в 12:12)
 

Атрибут name у каждого из select должен быть уникальным - иначе как вы их друг от друга отличите...

   
 
 автор: Andrey_V   (07.01.2006 в 12:12)   письмо автору
 
   для: Futurer   (07.01.2006 в 02:18)
 

Да. Переменные-то одинаковые.
Пробую поменять имена, но что-то не помогает. Покажите, пожалуйста, какие переменные надо поменять. Во первом блоке - добавлением к имени переменной _2, а во втором блоке _3
==================================================================
<?php
$arr_2[1] = "Краткий";
$arr_2[2] = "Страницы";
echo "<form name=form method=post>";
if(count($arr_2) > 0)
{
echo "<select name=id_catalog onchange='this.form.submit()'>";
echo "<option value=0>Таблица</option>";
foreach($arr_2 as $index => $value)
{
if($index == $_POST['id_catalog']) $selected = "selected";
else $selected = "";
echo "<option value=$index $selected>$value</option>";
}
echo "</select>";
}
echo "</form>";
// Если ничего не выбрано - выбираем значение по умолчанию
if(empty($_POST['id_catalog'])) $_POST['id_catalog'] = 0;
//-----------------------------------------------------
//Задание порядка сортировки
$arr_3[1] = "Производитель";
$arr_3[2] = "Цена";
echo "<form name=form method=post>";
if(count($arr_3) > 0)
{
echo "<select name=id_catalog onchange='this.form.submit()'>";
echo "<option value=0>Наименование</option>";
foreach($arr_3 as $index => $value)
{
if($index == $_POST['id_catalog']) $selected = "selected";
else $selected = "";
echo "<option value=$index $selected>$value</option>";
}
echo "</select>";
}
echo "</form>";
// Если ничего не выбрано - выбираем значение по умолчанию
if(empty($_POST['id_catalog'])) $_POST['id_catalog'] = 0;
?>
==================================================================

   
 
 автор: Futurer   (07.01.2006 в 02:18)   письмо автору
 
   для: cheops   (06.01.2006 в 21:11)
 

Да там скорее всего перепутались одинаковые переменные php и всего-то. Надо проверить.

   
 
 автор: cheops   (06.01.2006 в 21:11)   письмо автору
 
   для: Andrey_V   (06.01.2006 в 19:23)
 

Прикрепите к посту то, что у вас получилось - если списки влияют друг на друга - это не нормально...

   
 
 автор: cheops   (06.01.2006 в 21:02)   письмо автору
 
   для: Andrey_V   (06.01.2006 в 17:32)
 

Не должно так быть.

   
 
 автор: Andrey_V   (06.01.2006 в 19:23)   письмо автору
 
   для: Andrey_V   (06.01.2006 в 17:39)
 

Списки как надо расположил.
Остался только вопрос, как сделать, чтобы три поля со списком не влияли друг на друга

   

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования