Checkbox problem - checkboxes submitting that are unchecked

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Claire

    #1

    Checkbox problem - checkboxes submitting that are unchecked

    Hello,

    I am having a problem in my struts application with the checkboxes in
    my form. I have an array of checkboxes, some of which may be already
    selected when the form loads. My problem is when the user then
    deselects one or more of these checkboxes and submits the form -
    they're being submitted as if they were still checked, when the user
    has infact deselected them.

    I've heard that this is a common problem, but I don't seem to be able
    to find the problem / resolution with any search criteria. If anybody
    knows the fix for this it would be greatly appreciated (preferably
    without having to use Javascript)

    Many Thanks, Claire

    Here's the HTML for the checkbox part of the form when it's initially
    loaded.

    <table style="width:50 %;" cellpadding="0" cellspacing="0" >
    <tr class="spreadsh eetvalue">
    <td align="left" width="85%">Red </td>
    <td align="left" width="15%">
    <input type="checkbox" name="cust[0].add" value="on"
    checked="checke d">
    </td>
    </tr>
    <tr class="spreadsh eetvalue">
    <td align="left" width="85%">Ora nge</td>
    <td align="left" width="15%">
    <input type="checkbox" name="cust[1].add" value="on"
    checked="checke d">
    </td>
    </tr>
    <tr class="spreadsh eetvalue">
    <td align="left" width="85%">Yel low</td>
    <td align="left" width="15%">
    <input type="checkbox" name="cust[2].add" value="on"
    checked="checke d">
    </td>
    </tr>
    <tr class="spreadsh eetvalue">
    <td align="left" width="85%">Gre en</td>
    <td align="left" width="15%">
    <input type="checkbox" name="cust[3].add" value="on">
    </td>
    </tr>
    <tr class="spreadsh eetvalue">
    <td align="left" width="85%">Blu e</td>
    <td align="left" width="15%">
    <input type="checkbox" name="cust[4].add" value="on">
    </td>
    </tr>
    <tr class="spreadsh eetvalue">
    <td align="left" width="85%">Pur pler</td>
    <td align="left" width="15%">
    <input type="checkbox" name="cust[5].add" value="on">
    </td>
    </tr>
    </table>
  • claire.williams@thebookpeople.co.uk

    #2
    Re: Checkbox problem - checkboxes submitting that are unchecked

    Hello,

    My problem was that I had not implemented a

    reset (ActionMapping mapping, HttpServletRequ est request)

    method. So for those who know Struts, I had to change my DynaActionForm
    and create a normal Action Form which implemented a reset() method. The
    reset method looped through the array, setting the boolean
    (representing the checkbox) to false.

    The reset() method is automatically called before my preload action to
    prepolulate values (so only reset if the array isn't null, otherwise I
    got a NullPointerExce ption) and then again once the form is submitted
    (the crucial bit, initialising checkboxes back to false and then
    populating with the selected form values).

    Many Thanks, Claire

    Comment

    Working...