2017-08-10 3 views
0

javacriptsymfonyを使用しようとしていますが、問題が発生しました。問題は私のファイルtwig.htmlにあります。初めに私はこのコードを持っていた:symfonyを使用して入力に値を送信

{{ form_widget(form.name, {'attr': {'class': 'form-control'} }) }} 

は、その後、私は

<input type="text" id="person_name" 
    onkeyup="myFunction()" name="person[name]" required="required" 
    class="form-control" /> 

(つまり、ブラウザで生成された同じコードだった、私はちょうどアクションをonkeyupの追加)、動的検証を使用するためには、このように変更し検証ルールが機能するので満足していましたが、私がフォームに更新したいときに気付きました。フィールドの名前は空です(ただし、サーバーは良好です)。だから私はこの分野を手に入れたいと思っています。私の機能updateActionで、私は名前が良いの元素を含有してフォームを取り扱う前に、変数をダンプしてから。だから、問題は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"/> 

ありがとう:私は私のフィールドを取得するには、このようなことをやりたいです。

+0

'{{form_widget(form.name、{ 'のattr' でみてください、あまりにも乱雑ではありません願っています:{ 'クラス':' form-control '、' onkeyup ':' myFunction() '}})}} ' – yceruto

+0

ありがとう – bsm

答えて

1

エンティティまたはドキュメントを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 
} 

私はこれが

関連する問題