Poll - how to disable empty user input

Poll - how to disable empty user input

Saturday 22 July 2006 10:17:18 am - 2 replies

Modified on Wednesday 26 July 2006 6:20:45 am by Marko Žmak

Author Message

Andrew Kelly

Tuesday 08 August 2006 3:30:32 am

[Me too post]

I'd also very much like this answer as well.
Not only is the total vote count skewed, but the "voted" cookie is also set, so
if somebody mistakenly hits the vote button without making a selection and then
tries to correct their mistake, they are told they already voted.

For what it's worth, I think a page recycle would be the best solution rather than an error message of some kind. (but let's see if we even get that far first).

Andy

Andrew Kelly

Thursday 10 August 2006 7:24:10 am

Hi Marko,

here's how I dealt with the issue:

1. Edit (or create) settings/override/collect.ini.append.php

In section
[CollectionSettings]
add
CollectionUserDataList[poll]=overwrite (was probably unique)

Then,

2. Edit the active ezoption.tpl file, removing the "checked" sections

Then,

3. Add JavaScript to the poll form so that a blank vote doesn't get sent.
For example,

<b>in poll form</b>
onSubmit="return validatePoll(document.pollForm.ContentObjectAttribute_data_option_value_{$poll.0.data_map.question.id})"

<b>in page head</b>
{literal}
<script type="text/javascript">
<!--
function validatePoll(rObj){
    for (var i=0; i<rObj.length; i++) if (rObj[i].checked) return true;
    alert("Please make a selection before voting.");
    return false;
}
//-->
</script>
{/literal}

It's dependant on JS, which makes it a cheap hack, but it gets the job done.

Andy

You must be logged in to post messages in this topic!

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.