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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Способ выставления оценок
 
 автор: Eugene77   (05.10.2007 в 16:28)   письмо автору
 
 

Я хочу сделать систему выставления оценок.
Одиннадцать маленьких кнопочек, на каждой число
от -5 до +5. Нажимаешь на любую, и происходит
сабмит, сопровождаемый, разумеется, и другой
служебной информацией.
Только как это сделать не соображу.
Не делать же одиннадцать форм, а в одну
форму вроде бы одиннадцать сабмитов не поставить.

   
 
 автор: elenaki   (05.10.2007 в 17:36)   письмо автору
 
   для: Eugene77   (05.10.2007 в 16:28)
 

AJAX вам поможет. по событию onclick будете незаметно вызывать php- скрипт, который
сделает все, что нужно, в базе, а страница останется неперезагруженной.

   
 
 автор: sim5   (06.10.2007 в 09:26)   письмо автору
 
   для: Eugene77   (05.10.2007 в 16:28)
 

Сделайте одну форму с 11 радиокнопками и без SUBMIT. Имена кнопок - это массив, а их значения от -5 до +5. По выбору кнопки отправляйте форму, например:


<form method="post" action="vote.php">
<input type="radio" name="vote[]" value="5" onclick="this.form.submit()">+5
<input type="radio" name="vote[]" value="4" onclick="this.form.submit()">+4
<input type="radio" name="vote[]" value="3" onclick="this.form.submit()">+3
<input type="radio" name="vote[]" value="2" onclick="this.form.submit()">+2
<input type="radio" name="vote[]" value="1" onclick="this.form.submit()">+1
<input type="radio" name="vote[]" value="0" onclick="this.form.submit()">0
<input type="radio" name="vote[]" value="-1" onclick="this.form.submit()">-1
<input type="radio" name="vote[]" value="-2" onclick="this.form.submit()">-2
<input type="radio" name="vote[]" value="-3" onclick="this.form.submit()">-3
<input type="radio" name="vote[]" value="-4" onclick="this.form.submit()">-4
<input type="radio" name="vote[]" value="-5" onclick="this.form.submit()">-5
</form>

PS. Если надо сперва выбрать, а потом отослать, то добавьте кнопку SUBMIT и удалите из радиокнопок событие onclick="this.form.submit()"

   
 
 автор: Eugene77   (06.10.2007 в 18:00)   письмо автору
 
   для: sim5   (06.10.2007 в 09:26)
 

Хорошая идея!
Мне подходит. Кроме только, разве что того, что я хочу именно кнопки поставить,
но, думаю, цифры на рисунки заменить можно.
Кроме того не клик мне ещё и скрыть эту кнопчатку хотелось.
Заменить, может быть все кнопочки прозрачными гифами?
Или как ещё можно сделать, чтобы не усложнять?

   
 
 автор: sim5   (06.10.2007 в 18:11)   письмо автору
 
   для: Eugene77   (06.10.2007 в 18:00)
 

Если применить радиокнопки, то имея одинаковые имена, они становятся зависимыми, т.е., пользователь не сможет выбрать одновременно два значения. Если использовать просто кнопки, то придеться производить такую проверку с помощью сценария. Скрывать нет смысла - иначе вы не даете право выбора пользователю, или вам это и нужно? Кнопку можно сделать недоступной после клика.

   
 
 автор: Eugene77   (06.10.2007 в 19:11)   письмо автору
 
   для: sim5   (06.10.2007 в 18:11)
 

>Если применить радиокнопки, то имея одинаковые имена, они становятся зависимыми, т.е., пользователь не сможет выбрать одновременно два значения.

Это я понимаю.

>Если использовать просто кнопки, то придеться производить такую проверку с помощью сценария.

Я и не хочу просто кнопки использовать - радио замечательная идея!

>Скрывать нет смысла - иначе вы не даете право выбора пользователю, или вам это и нужно? Кнопку можно сделать недоступной после клика.

Мне хочется убрать кнопки (довольно яркие по моему замыслу) чтобы они не отвлекали
читателя от дальнейшего текста и ещё, кнопки будут встречатся несколтько раз, хорошо,
если он забудет где что поставил. Смысл в том, что текст расчитан на переоценку некоторых
моментов. Он сам и удивится, что 5 минут назад поставил такую оценку, а теперь совсем другую.
Когда ему покажу результаты его же голосования.

Так. Что-то я, кажется, ещё одного пункта не понимаю.
А как мне потом вылавливать на сервере эту оценку?
Что писать в скобках $_POST[] ?

   
 
 автор: sim5   (06.10.2007 в 19:34)   письмо автору
 
   для: Eugene77   (06.10.2007 в 19:11)
 

Не могу сказать насчет как именно разместить кнопки, прятать их или нет (а если его взгляд измениться и он пожелает изменить оценку?), но я бы не сказал, что сами радиокнопки блещут " отвлекающим дизайном. Модно сделать их фон прозрачным, и поместить на общем не броском по цвету и плотности фоне, думаю тогда они будут и выделены как поле для выбора, но и "выпячиваться" не будут. В общем это не такая уж и проблема как мне кажется.
Имена кнопок кстати не обязательно отмечать как массив, вам ведь одно значение нужно, поэтому в РНР, например, если имя радиокнопок будет vote, получаем:

<?
echo $_POST['vote'];

   
 
 автор: Eugene77   (06.10.2007 в 20:02)   письмо автору
 
   для: sim5   (06.10.2007 в 19:34)
 

Ого!
Так всё просто!
Пожалуй, действительно проблем больше нет.
Скриптик для скрытия кнопок и дезактивации, я и сам
сочиню.Насчёт модного дизайна - тоже хорошая подсказка.
Спасибо! Вопрос исчерпан.

   
 
 автор: sim5   (07.10.2007 в 03:58)   письмо автору
 
   для: Eugene77   (06.10.2007 в 20:02)
 

:)) Я просто ошибку допустил. Вместо Можно сделать, написал Модно сделать, а уж модно это или не модно..., не Слава Зайцев однако:)

   
 
 автор: Eugene77   (07.10.2007 в 22:54)   письмо автору
 
   для: sim5   (07.10.2007 в 03:58)
 

А я вот как раз размышляю:
Какие бы такие-этакие кнопочки мне изобрести!

   
 
 автор: sim5   (07.10.2007 в 23:01)   письмо автору
 
   для: Eugene77   (07.10.2007 в 22:54)
 

Вот уж не знаю. Если они все расположены в конце текста, то просто лучше прозрачные на какой либо цветной полосе, либо в рамке. Если по ходу текста, то как - вертикально, по одной кнопке в абзаце?)) Обычно оценка дается после прочитанного, значит "скромно" и просто оформить, мне кажется излишний вес картинок здесь не нужен, да и не оправдан.

   
 
 автор: Eugene77   (09.10.2007 в 20:13)   письмо автору
 
   для: sim5   (07.10.2007 в 23:01)
 

Да я хочу добиться эмоциональной оценки, а не разумной
Каждая картинка отражала бы ощущения от чтения, а не заставляла бы морщить лоб как при
скромном оформлении с целью выставления "взвешенной" оценки.

   
 
 автор: sim5   (10.10.2007 в 03:26)   письмо автору
 
   для: Eugene77   (09.10.2007 в 20:13)
 

>Каждая картинка отражала бы ощущения от чтения

Типа как в рекламе: неимоверная радость от нового порошка, с глазами на выкате, и кислота с пренебрежением от старого?)) Как знаете, можете и картинки.
Я тоже читаю статьи, бывают и такие, которые предлагают оцеку, я в этом случае выставляю то, что считаю нужным, а не то, на что меня настроет картинка "с эмоцией", кстати которые очень редко встречаются. Я сторонник того, что человек должен думать и решать сам, без рекламы, а я же просто должен предоставить ему инструмент для выбора.

   
 
 автор: Eugene77   (10.10.2007 в 19:32)   письмо автору
 
   для: sim5   (10.10.2007 в 03:26)
 

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

Сухой подход мне тоже во многом привычнее, но
и он бывает и неуместен. Здесь надо ситуацию рассказывать, а это крайне долго.

Рекламные перегибы меня тоже напрягают, но и удержаться в рамках хорошего
вкуса не всегда легко, ну, буду пытаться.

Спасибо за такую всеобъемлющую консультацию!

   
Rambler's Top100
вверх

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