Javascript 使用Symfony向输入发送值

Javascript 使用Symfony向输入发送值,javascript,html,symfony,Javascript,Html,Symfony,我试图在Symfony内部使用javascript,然后我遇到了一个问题。问题位于我的文件twig.html。一开始我有这样的代码: {{ form_widget(form.name, {'attr': {'class': 'form-control'} }) }} 然后我将其更改为此,以便使用动态验证(这与在浏览器中生成的代码相同,我只是添加了onkeyup操作) 然后我很高兴,因为我的验证规则有效,但我发现当我想更新表单时。字段name是空的(但在服务器中是好的)。所以我想得到这个

我试图在Symfony内部使用javascript,然后我遇到了一个问题。问题位于我的文件twig.html。一开始我有这样的代码:

  {{ form_widget(form.name, {'attr': {'class': 'form-control'} }) }}
然后我将其更改为此,以便使用动态验证(这与在浏览器中生成的代码相同,我只是添加了onkeyup操作)


然后我很高兴,因为我的验证规则有效,但我发现当我想更新表单时。字段name是空的(但在服务器中是好的)。所以我想得到这个字段。在我的函数updateAction中,我在处理表单之前转储变量person,然后name包含good元素。所以问题是form_widget和我刚才做的好事之间有区别。我想做这样的事情来获取我的字段名:

   <input type="text" id="person_name"
  onkeyup="myFunction()" name="person[name]" required="required"
   class="form-control" value="if(form.name is not empty) form.name"/>


谢谢。

是否将实体或文档传递给createForm函数? 类似的方法应该会奏效:

控制器

$em = $this->getDoctrine()->getManager();
$your_entity = $em->getRepository(**your_entity_path**)->findOneBy([**parameters**]);
$edit = 1;
if(!isset($your_entity)) {
    $your_entity = new Your_entity();
    $edit = 0;
}
$form = $this->createForm(**your_entity_type_path**, $your_entity);
$editForm->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
    if(!$edit)
        $em->persist($your_entity);
    $em->flush();

    //other code
}

我希望这不会太混乱

尝试使用
{form_小部件(form.name,{'attr':{'class':'form control','onkeyup':'myFunction()'}}}}}
非常感谢
$em = $this->getDoctrine()->getManager();
$your_entity = $em->getRepository(**your_entity_path**)->findOneBy([**parameters**]);
$edit = 1;
if(!isset($your_entity)) {
    $your_entity = new Your_entity();
    $edit = 0;
}
$form = $this->createForm(**your_entity_type_path**, $your_entity);
$editForm->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
    if(!$edit)
        $em->persist($your_entity);
    $em->flush();

    //other code
}