No because i want to display initial value of a disable element after submit
when i have an error.
The hidden element no resolves the problem.

I have a select with a value selected but this select is disable.
when i submit form with a error, i want to redisplay the form and select
element display with a initial value selected.


Kyohere Luke wrote:
> 
> Might using a hidden field do what u want?
> 
> On Fri, May 29, 2009 at 12:20 PM, samuel verdier
> <[email protected]>wrote:
> 
>>
>> i want just force a value of element after submit.
>> The problem is setValue no setAttrib :
>>
>> if i have this :
>>
>> $last_name->setValue('testsamy');
>> -> I change this value last_name in my interface by testsamy2 and i
>> submit
>> -> i recup testsamy2 but i want recup testsamy because i want to force
>> this
>> value even if it is posted.
>>
>>
>> vince. wrote:
>> >
>> > Hi,
>> >
>> > I hope i am understanding you right but if you take a look at
>> > Zend/Form/Element.php
>> >
>> > You will find this:
>> >
>> >  /**
>> >      * Set element attribute
>> >      *
>> >      * @param  string $name
>> >      * @param  mixed $value
>> >      * @return Zend_Form_Element
>> >      * @throws Zend_Form_Exception for invalid $name values
>> >      */
>> >     public function setAttrib($name, $value)
>> >     {
>> >         $name = (string) $name;
>> >         if ('_' == $name[0]) {
>> >             require_once 'Zend/Form/Exception.php';
>> >             throw new Zend_Form_Exception(sprintf('Invalid attribute
>> "%s";
>> > must not contain a leading underscore', $name));
>> >         }
>> >
>> >         if (null === $value) {
>> >             unset($this->$name);
>> >         } else {
>> >             $this->$name = $value;
>> >         }
>> >
>> >         return $this;
>> >     }
>> >
>> > so as you can see you cannot set a null value. But what you can do is
>> set
>> > it
>> > to an empty string maybe if that's something that you can work with.
>> >
>> > On Fri, May 29, 2009 at 12:00 PM, samuel verdier
>> > <[email protected]>wrote:
>> >
>> >>
>> >> $last_name->setValue('testsamy'); no set the value if the form after
>> >> submitting, $last_name = $_POST['last_name'] ($_POST['last_name'] no
>> >> exist
>> >> because last_name is disable) and no testsamy. I want to force this
>> value
>> >> because element is disable and when there are errors on the form the
>> >> element
>> >> last_name has a null value.
>> >>
>> >>
>> >> vince. wrote:
>> >> >
>> >> > Hi,
>> >> >
>> >> > I did not understand where you place the null value in the code
>> above,
>> >> But
>> >> > if you do this:
>> >> >
>> >> >  $last_name->setAttrib('disable', null);
>> >> >
>> >> > this will unset the 'disable' element from the form. It doesn't
>> accept
>> >> > null
>> >> > values.
>> >> >
>> >> > On Fri, May 29, 2009 at 1:07 AM, samuel verdier
>> >> > <[email protected]>wrote:
>> >> >
>> >> >>
>> >> >> hello,
>> >> >>
>> >> >> I want to set a value to an element after submitting the form.
>> >> >> I need it because one element is disable and when there are errors
>> on
>> >> the
>> >> >> form the element has a null value.
>> >> >>
>> >> >> this code doesn't works, value = null :
>> >> >>
>> >> >> class App_Form extends Zend_Form
>> >> >> {
>> >> >>        public function init()
>> >> >>        {
>> >> >>            $last_name = $this->createElement('text', 'last_name')
>> >> >>            $last_name->setAttrib('disable', true);
>> >> >>            $last_name->setValue('testsamy');
>> >> >>
>> >> >>            .............
>> >> >>
>> >> >>            return $this;
>> >> >>        }
>> >> >> }
>> >> >>
>> >> >> this code works, value = test:
>> >> >>
>> >> >> class App_Form extends Zend_Form
>> >> >> {
>> >> >>        public function init()
>> >> >>        {
>> >> >>            $last_name = $this->createElement('text', 'last_name')
>> >> >>            $last_name->setAttrib('disable', true);
>> >> >>            $last_name->setValue('testsamy');
>> >> >>
>> >> >>            .............
>> >> >>
>> >> >>            return $this;
>> >> >>        }
>> >> >>
>> >> >>        public function isValid($data)
>> >> >>        {
>> >> >>            $valid = parent::isValid($data);
>> >> >>
>> >> >>            $this->getElement('last_name')->setValue('test');
>> >> >>
>> >> >>            return $valid;
>> >> >>        }
>> >> >> }
>> >> >>
>> >> >> How can i do without overloading the method isValid ?
>> >> >>
>> >> >> Thanks
>> >> >>
>> >> >> --
>> >> >> View this message in context:
>> >> >> http://www.nabble.com/Zend_Form-setValue-tp23770977p23770977.html
>> >> >> Sent from the Zend Framework mailing list archive at Nabble.com.
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > --
>> >> > Vincent Gabriel.
>> >> > Lead Developer, Senior Support.
>> >> > Zend Certified Engineer.
>> >> > Zend Framework Certified Engineer.
>> >> > -- http://www.vadimg.co.il/
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/Zend_Form-setValue-tp23770977p23776593.html
>> >> Sent from the Zend Framework mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > Vincent Gabriel.
>> > Lead Developer, Senior Support.
>> > Zend Certified Engineer.
>> > Zend Framework Certified Engineer.
>> > -- http://www.vadimg.co.il/
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Zend_Form-setValue-tp23770977p23776829.html
>> Sent from the Zend Framework mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Zend_Form-setValue-tp23770977p23779906.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to