O.K. This is better:
public function isChecked()
{
$value = $this->getValue();
if (null === $value) {
return false;
}
return true;
}
Regards,
Saša Stamenković
On Wed, Dec 23, 2009 at 12:04 AM, Саша Стаменковић <[email protected]>wrote:
> 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.
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>