how can i made textfields with the same name into form classes

alnux
Member | 139
+
0
-

hi there im trying to build a forms with same name textfields as array ex: mytextfield[], here is what is talking about

$prod_raw=[
                    '{"1":3.5}'=>"Hielo grande",
                    '{"2":2.5}'=>"Hielo pequeño",
                    '{"3":3.5}'=>"Agua",
                ];
                $this->form->addCheckboxList('productos_raw', 'Producto Raw', $prod_raw);

                foreach ($prod_raw as $nivel)
                {
                    //$this->form->addCheckboxList('productos_raw', 'Producto Raw', $prod_raw);

                    $this->form->addHidden('producto_id[]');
                    $this->form->addHidden('preciounitario[]');

                    $this->form->addText('cantidad[]', 'Cantidad')
                            ->setAttribute('placeholder', 'Cantidad');


                    $this->form->addText('observaciones[]', 'Observaciones')
                            ->setAttribute('rows', 4)
                            ->setAttribute('placeholder', 'observaciones del producto vendido')
                            ->addRule(Form::MAX_LENGTH, 'Maximo de caracteres %d',250);

                }

but tracy show me the next error

Nette\InvalidArgumentException

Component name must be non-empty alphanumeric string, ‘producto_id[]’ given

how can i made textfields with the same name into form classes, the differences one from another will be the attr ‘id’, for templates
thanks for the help

Last edited by alnux (14. 5. 2017 17:31)

duke
Member | 650
+
0
-

You can't use names ending with [] for Nette form controls. You can however use form containers and then end up having input names like products[1][title], products[1][price], products[2][title], products[2][price], etc.
Check Form::addContainer() method.

If you insist on using the “[]” inputs, you still can, but instead of using Nette controls for them, you have to handle them via Form::getHttpData().

Last edited by duke (14. 5. 2017 19:25)

RSS feed Topic closed