Fixed Poll "Add additional response" button bug

RichardKYA

Well-known member
If you are 1 response away from the total maxResponses when you go to edit a poll, the additional field shows as expected, but the "add additional response" button also stills shows even though you can not add any further responses, so you are left with a 'dead' button.

To replicate:

1: Set "Maximum Number of Poll Choices" to "3" (it can be any number, this is just to make things easier for testing)
2: Create a poll with only 2 responses
3: Edit the poll and you'll see the field for your 3rd (and final) response and also the button (which does nothing when clicked)

I found that doing this in 'thread_poll_edit' fixes the issue:

Find:
Code:
<input type="button" value="{xen:phrase add_additional_response}" class="FieldAdder button smallButton" data-source="ul.PollResponseContainer li" data-maxfields="{$xenOptions.pollMaximumResponses}" />
Replace:
Code:
       <xen:if is="{xen:count $poll.responses} < {xen:calc '{$xenOptions.pollMaximumResponses} - 1'}">
       <input type="button" value="{xen:phrase add_additional_response}" class="FieldAdder button smallButton" data-source="ul.PollResponseContainer li" data-maxfields="{$xenOptions.pollMaximumResponses}" />
       </xen:if>
Anyway, I'll leave it with you guys to do as you please, thanks for reading :)
 

Mike

XenForo developer
Staff member
There are some fairly complex permutations here to handle this generically, as there's the case where the poll doesn't exist, where it does exist (normal) and where it's a draft. As such, I've handled this in JS. It will hide the button as needed and, if for some reason it's still there when it's not needed, a click will remove it.
 
Top