【问题标题】:How to get Value from form (symfony 1.4)如何从表单中获取价值(symfony 1.4)
【发布时间】:2011-12-26 16:23:28
【问题描述】:

我制作了在行动中有效的复杂形式。我想从此输入中获取价值以将文件保存在服务器上。

<input type="text" 
    name="produkty[pForm][1][caption]" 
    id="produkty_pForm_1_caption" />

我尝试过类似的方法:

$this->form=new ProduktyForm();

if ($request->isMethod(sfRequest::POST))
{
   $this->form->bind($request->getParameter('produkty'),$request->getFiles('produkty'));
   if ( $this->form->isValid())
   {
       $file=$this->form->getValue('produkty[pForm][1][src]');
       $filename='u';
       $extension = $file->getExtension($file->getOriginalExtension());
       $file->save(sfConfig::get('sf_upload_dir').'/'.$filename.$extension);
   }
}

但它不起作用。

【问题讨论】:

  • “它不起作用”通常总是是一个不充分的错误描述。

标签: php forms symfony1


【解决方案1】:

'produkty' 是表单的名称。您是否使用子表单来捕获要输入的可能文件数组?

您可以通过这样做获得整个表单的值。

$form_vals = $this->form->getValues();

然后你可以通过你的输出看到你有什么变量。

您可能可以通过这种方式获得输入。

$caption = $form_vals['pForm'][1]['caption']; 

这很好,但是如何从文件属性中获取值。我无法从文件输入中获取值 我的主表单名称是幻灯片,子表单是 mslide

这是我的代码

$this->multiSlideForm->bind($request->getParameter('slide'), $request->getFiles('slide'));
$form_vals = $this->multiSlideForm->getValues();
echo $form_vals['mslide'][0]['slide_name']; //working
echo $this->multiSlideForm->getValue('[mslide][0][file_name]')->getOriginalName();  //not working  

【讨论】:

    猜你喜欢
    • 2017-11-22
    • 2012-08-23
    • 2018-03-10
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 2020-05-16
    相关资源
    最近更新 更多