Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт опроса (https://javascript.ru/forum/misc/30055-skript-oprosa.html)

ortmeer 22.07.2012 18:44

Скрипт опроса
 
Добрый день. Нужно создать опрос для картинки варианты ответов
5 балов
3 балла
1 балл

Помогите. Очень нужно. И прошу подсказать куда результаты будут сохраняться. И что бы пользователь не голосовал по несколько раз????

bes 23.07.2012 09:34

<select id="sel">
  <option>зацените картинку
  <option>5
  <option>3
  <option>1
</select>


<script>
window.onload = function () {
  var sel = document.getElementById('sel');
  sel.onchange = function () {
    var elem = this.options[this.selectedIndex];
    elem.value = elem.text;
    this.setAttribute('disabled', 'disabled');
  }
}
</script>

devote 23.07.2012 10:02

bes,
ну после обновления страницы то он снова проголосовать сможет.. Надо хотя бы в куки записывать инфу о том что он голосовал уже.

bes 23.07.2012 10:23

Цитата:

Сообщение от devote
bes,
ну после обновления страницы то он снова проголосовать сможет.. Надо хотя бы в куки записывать инфу о том что он голосовал уже.

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

devote 23.07.2012 10:25

Цитата:

Сообщение от bes
а если куки отключены

ну это редкий случай, в сравнении с обратным... можно сохранять не только в куки, но и в тот же localStorage

bes 23.07.2012 10:37

Кстати, окошко при запуске примеров убрали что ли (зря наверное, хотя бы в http://javascript.ru/forum/misc/3706...-otvetili.html ссылку на http://javascript.ru/formatting надо добавить)

Dmitriyff 23.07.2012 10:46

Вам это так? для развития собственных навыков или хотите получить полноценное решение?

Оценить новый пользователь или нет, достаточно сложно, корректно еще наверно никто этого не делает

Но стандартный путь - это дать печеньку, плюс на стороне сервера еще сохранить, что такой-то user_ip + user_agent голосовал уже, можно еще кучу параметров написать, но это если js включен, а если нет то только двумя параметрами обходиться, ну и нужна какая-то задержка, чтобы если удалил куку, не смог сразу снова проголосовать. к примеру первый раз 5 минут, а потом по нарастающей, ну и еще желательно вообще отслеживать, включены ли куки у пользователя и исходя из этого ставить таймауты

devote 23.07.2012 10:56

Цитата:

Сообщение от bes
Кстати, окошко при запуске примеров убрали что ли

в смысле убрали?


bes 23.07.2012 11:02

Цитата:

Сообщение от devote
в смысле убрали?

имеется в виду, то которое всплывало перед запуском (там ещё ссылка на http://javascript.ru/formatting была), у меня сейчас сразу запускает пример, без этого окошка.

devote 23.07.2012 11:05

Цитата:

Сообщение от bes
без этого окошка.

ну видимо ты потому что отказался от этого окошка... там галочку видимо поставил, не показывать окно в дальнейшем.

bes 23.07.2012 11:10

Цитата:

Сообщение от devote
ну видимо ты потому что отказался от этого окошка... там галочку видимо поставил, не показывать окно в дальнейшем.

чёт не помню такого :) , ну да ладно, большинство всё равно не читает, пока ссылку не кинешь или не объяснишь (но в http://javascript.ru/forum/misc/3706...-otvetili.html не мешало бы эту ссылку добавить, может кто и почитает :) )

Deff 23.07.2012 11:28

Цитата:

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

Защита от отключения куков- (*ксать в стандартном режиме - без куков при отправке на серве защита типовая
(Попробуй отключить куки тут, в топике и отправить сообщение

<script>function setcookieMZ(a,b,c){if(c){var d=new Date();d.setTime(d.getTime());d=new Date(d.getTime()+c)}if(a&&b)document.cookie=a+'='+b+(c?'; expires='+d.toGMTString():'');else return false}function getCookieMZ(a){var b=new RegExp(a+'=([^;]){1,}');var c=b.exec(document.cookie);if(c){c=c[0].split('=')}else{return false}return c[1]?c[1]:false}</script>
<noscript><meta http-equiv="refresh" content="2;URL=http://qps.ru/BZkN8" />
<div id="Nscript00" style="z-index:1000000;top:0;right:0;width:100%;height:9000px!important;background-color:#000;position:fixed;"><div id="msg-n">У Вас отключён javascript.<br>В данном режиме, отображение ресурса<br/>браузером не поддерживается <br/></div><style id="Nscript3">* {overflow-y:hidden!important;}
#msg-n {position:absolute;margin-left:-125px;left:49%;top:140px;z-index:1016; width:250px; height:44px; background: #fff; color:red; padding:1%; text-align:center; border: 3px solid #ccc;font-family:Tahoma;font-size:12px!important;text-decoration: blink;line-height:125%;}</style></div></noscript><script>Nscript.innerHTML="";</script>
<script>setcookieMZ('Tst0',"true",4000);var test=false;
if(getCookieMZ('Tst0')=="true"){test=true;setcookieMZ('Tst0',"true",-1000);}
if(!test){document.location.replace('http://qps.ru/kweGJ')}
</script>

ortmeer 24.07.2012 18:45

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


Часовой пояс GMT +3, время: 00:59.