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

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

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 12:37   #1
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию работа с формами - оператор select

Добрый день!
вот сделал форму сортировки:
<select name="sortby" onchange="this.form.submit()" >
<option value="1"> Title</option>
<option value="21">Price: Low to High</option>
<option value="22"> Price: High to Low</option>
<option value="31"> Newest</option>
<option value="32"> Oldest</option>
<option value="4"> Most Popular</option>
</select>
<input type="image" src="images/ok2.png" align="absmiddle" />

она работает, НО!!!
когда я выбираю какой-то пункт в поле где отображается значение option
постоянно Title.

поясню, вот к примеру я выбрал Oldest, все сработало, но у меня не отображается в форме что сейчас выбран Oldest, а отображается первый пункт, т.е. Title

что надо подправить?
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 22.03.2010, 15:16   #2
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

если данные отправлялись методом пост

if ($_POST['имя_передаваемой_переменной']=="1") echo "<option selected value="1"> Title</option>";
else echo "<option value="1"> Title</option>";


и так для каждой
Tirendus вне форума Ответить с цитированием
Старый 22.03.2010, 15:56   #3
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию

не работает... перекидывает на первый option

код работает, и в зависимости от выбранного пункта выполняется действие, но вот сам выбранный пункт не отображается
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 22.03.2010, 16:14   #4
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Вообще-то должно работать, может у вас небольшая ошибка в этом месте? Можете выложить тот код, который получился, с этой проверкой?
Tirendus вне форума Ответить с цитированием
Старый 22.03.2010, 16:22   #5
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию

<select name="sortby" onchange="this.form.submit()" >

<?phpif ($sort_by == 1) { echo '<option selected value="1"> Title</option>' } else echo '<option value="1"> Title</option>';
if ($sort_by == 21) { echo '<option selected value="21"> Price: Low to High</option>' } else echo '<option value="21"> Price: Low to High</option>';
if ($sort_by == 22) { echo '<option selected value="22"> Price: High to Low</option>' } else echo '<option value="22"> Price: High to Low</option>';
if ($sort_by == 31) { echo '<option selected value="31"> Newest</option>' } else echo '<option value="31"> Newest</option>';
if ($sort_by == 32) { echo '<option selected value="32"> Oldest</option>' } else echo '<option value="32"> Oldest</option>';
if ($sort_by == 4) { echo '<option selected value="4"> Most Popular</option>' } else echo '<option value="4"> Most Popular</option>'; ?>
</select>
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 22.03.2010, 16:28   #6
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию

dсве... нашел...
не хватало ;
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 22.03.2010, 16:30   #7
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

2 замечания, хотя первое, скорее всего мелочь

1)
Код:
<?phpif ($sort_by == 1) { echo '<option selected value="1"> Title</option>' } else echo '<option value="1"> Title</option>';
<?php и if пишутся раздельно

2) До начала работы с формой нужно в переменную $sort_by внести значение из $_POST['sortby'] или сразу сравнивать с ним if ($_POST['sortby'] == "21"). И обязательно проверяйте на наличие в переменной текста, а не числа, то есть кавычки обязательны, ведь value - это строка.
Tirendus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с формами dscoma Microsoft Office Word 5 18.08.2010 14:09
Работа с формами Claster Общие вопросы Delphi 11 01.02.2010 17:09
работа с формами Graggis1 Microsoft Office Access 4 17.08.2009 18:14
Работа с формами S_Yevgeniy Помощь студентам 8 04.08.2009 10:23
Работа с формами dima00 Общие вопросы Delphi 4 11.04.2007 22:10