Thursday, 17 January 2013

Zend Framework and dojo checkbox example | Zend Framework Tutorial pdf

Zend Framework and dojo checkbox example

Few weeks back, I used dojo check box in my Zend framework application. Scenario was a bit different at that time. I was submitting Zend dojo form on the click event of the checkbox. When I created a form and submitted that onclik, It didn’t give me desired results.
I set its checked value to 1 and unchecked value to 0, however when I submited it always gave me a single value. I was looking for 0 and 1, but it always gave me 0. I thought that It was because I was not using proper submit button for the posting of form.
However when today I used checkbox in normal zend dojo form, it gave me the same result. Oh God, how to fix it.
However as I have played with dojo js files, so I got the solution.
Let’s tell you the trick.
First of all create check box as
$checkbox= $form->createElement(
                'checkBox',
                'checkbox',
                array(
                    'label' => 'Tricky check box',
                    'checkedValue' => 1,
                    'uncheckedValue' => 0
                )
            );

Now add onclick event to this checkbox element as
$checkbox->setAttrib('onclick','changeValue()');Now in your view, where you display this form, write the following javascript function
<script>
function changeValue()
{
    if(dijit.byId('checkbox').checked){
        dijit.byId('checkbox').setValue('1');
    } else {
        dijit.byId('checkbox').setValue('0');
        dijit.byId('checkbox').checked=false;
    }
}
</script>

The above code isn’t simple?
Hmm. First we see if we have checked the checkbox, if yes we assign value 1 to it, if not we assign it value 0 and set its checked status to false. This will uncheck the checkbox.
That’s it. Submit your form and you will get desired results.

No comments: