I need to find out exactly which button is clicked, because I have wizard with multi page form and on each step I have back and forward button.
Regards, Saša Stamenković On Wed, Dec 23, 2009 at 12:02 AM, Саша Стаменковић <[email protected]>wrote: > You are right, even with: > > public function isChecked() > { > $value = $this->getValue(); > if (empty($value)) { > return true; > } > > return false; > } > > it behaves wrong on WinXP/FF. Must find the way around this... > > Regards, > Saša Stamenković > > > > On Tue, Dec 22, 2009 at 6:11 PM, Hector Virgen <[email protected]> wrote: > >> I get a fatal error when I try that: >> >> Fatal error: Can't use method return value in write context in >>> /Users/hvirgen/Web/projects/virgentech/application/controllers/IndexController.php >>> on line 49 >> >> >> I swapped it for this test, which is similar to yours: >> >> if (!$this->getValue()) { >> return true; >> } >> >> return false; >> >> But it always returns true, even if I clicked a different submit button. >> Again, this was testing on Chrome for Mac. Other browsers may behave >> differently. >> >> Do you just need to test if the form was submitted, or if a specific >> button was clicked? >> >> -- >> Hector >> >> >> >> On Tue, Dec 22, 2009 at 9:04 AM, Саша Стаменковић <[email protected]>wrote: >> >>> Yes, I need them to be buttons, styling problems, I need sth like: >>> >>> <button id="quick_search_form_submit" class=" ui-corner-all >>> ui-state-default" accesskey="s" type="submit" name=" >>> quick_search_form_submit"> >>> <span class="ui-icon left ui-icon-search"> </span> >>> Traži >>> </button> >>> >>> And that cannot be done with submit. >>> >>> However, this works for me: >>> >>> public function isChecked() >>> { >>> if (empty($this->getValue())) { >>> return true; >>> } >>> >>> return false; >>> } >>> >>> Regards, >>> Saša Stamenković >>> >>> >>> >>> On Tue, Dec 22, 2009 at 5:50 PM, Hector Virgen <[email protected]>wrote: >>> >>>> My apologies, you're right. I put together a quick test script and >>>> verified that button elements do not always return the correct result when >>>> calling isChecked(). In my test, using Chrome for Mac the button element >>>> did >>>> not return a value when submitted, which is required by isChecked(). >>>> >>>> However, I don't think this is entirely ZF's fault. >>>> >>>> According to w3schools.com, different browsers return different values >>>> when button elements are clicked. >>>> >>>> Important: If you use the button element in an HTML form, different >>>>> browsers will submit different values. Internet Explorer will submit the >>>>> text between the <button> and </button> tags, while other browsers will >>>>> submit the content of the value attribute. Use the >>>>> input<http://www.w3schools.com/tags/tag_input.asp> element >>>>> to create buttons in an HTML form. >>>> >>>> >>>> http://www.w3schools.com/tags/tag_button.asp >>>> >>>> <http://www.w3schools.com/tags/tag_button.asp>I suggest following their >>>> recommendation and using input elements instead of buttons, unless you >>>> absolutely need them to be buttons: >>>> >>>> $form->addElement('submit', 'go_submit', array( >>>> 'label' => 'Submit' >>>> )); >>>> >>>> I verified that submit elements do behave as expected when calling >>>> isChecked(). >>>> >>>> -- >>>> Hector >>>> >>>> >>>> On Mon, Dec 21, 2009 at 11:21 PM, umpirsky <[email protected]> wrote: >>>> >>>>> О.К. I'm using buttons (type="submit"). >>>>> >>>>> Does for you this method returns opposite value then expected? >>>>> >>>>> Regards, >>>>> Saša Stamenković >>>>> >>>>> >>>>> On Mon, Dec 21, 2009 at 6:04 PM, Hector Virgen [via Zend Framework >>>>> Community] <[hidden >>>>> email]<http://n4.nabble.com/user/SendEmail.jtp?type=node&node=976764&i=0> >>>>> > wrote: >>>>> >>>>>> That's because you can have two buttons with the same name but have >>>>>> different values. Only if the value matches will it be considered >>>>>> clicked. >>>>>> >>>>>> Also, with inputs (type=submit), the value and the label are the same >>>>>> thing. To make your button say "OK", its value should be "OK". When the >>>>>> button is clicked, the $_POST data will contain the value "OK" for the >>>>>> button. In ZF, that's why $element->setLabel() affects the value of the >>>>>> submit input. >>>>>> >>>>>> When it's not clicked, there may still be another input (hidden?) that >>>>>> sets the value to an empty string. This is why the label is tested >>>>>> against >>>>>> the value. >>>>>> >>>>>> -- >>>>>> Hector >>>>>> >>>>>> >>>>>> On Mon, Dec 21, 2009 at 6:31 AM, umpirsky <[hidden >>>>>> email]<http://n4.nabble.com/user/SendEmail.jtp?type=node&node=976348&i=0> >>>>>> > wrote: >>>>>> >>>>>>> >>>>>>> Hi. >>>>>>> >>>>>>> For me, isChecked method works only after I set my buttons >>>>>>> (type="submit") >>>>>>> have same value for label and value attribs. >>>>>>> Also, it returns opposite value then expected, false when button is >>>>>>> clicked! >>>>>>> >>>>>>> Lets take a look at buton/submit isChecked method: >>>>>>> >>>>>>> /** >>>>>>> * Has this submit button been selected? >>>>>>> * >>>>>>> * @return bool >>>>>>> */ >>>>>>> public function isChecked() >>>>>>> { >>>>>>> $value = $this->getValue(); >>>>>>> >>>>>>> if (empty($value)) { >>>>>>> return false; >>>>>>> } >>>>>>> if ($value != $this->getLabel()) { >>>>>>> return false; >>>>>>> } >>>>>>> >>>>>>> return true; >>>>>>> } >>>>>>> >>>>>>> pretty odd, huh? I don't know why it is implemented this way, but I >>>>>>> patched >>>>>>> it to return opposite value, and it works now. Why label and value >>>>>>> need to >>>>>>> have same value at all? >>>>>>> >>>>>>> Anyone with same behaviour? >>>>>>> -- >>>>>>> View this message in context: >>>>>>> http://n4.nabble.com/Buttons-and-isChecked-method-tp976255p976255.html >>>>>>> Sent from the Zend Framework mailing list archive at Nabble.com. >>>>>>> >>>>>> >>>>>> >>>>> >>>>> ------------------------------ >>>>> View this message in context: Re: [fw-general] Buttons and isChecked >>>>> method<http://n4.nabble.com/Buttons-and-isChecked-method-tp976255p976764.html> >>>>> >>>>> Sent from the Zend Framework mailing list >>>>> archive<http://n4.nabble.com/Zend-Framework-f634138.html>at Nabble.com. >>>>> >>>> >>>> >>> >> >
