1

私はWebアプリケーションに取り組んでいます。Web から作成および編集することになっているエンティティがあります (非常に古典的ですね)。

したがって、Symfony が提供する (Type と Handler を使用した) フォーム生成を使用したいのですが、単に標準的な方法でそれらを印刷したくはありません。これらのフォームを jquery から呼び出して、 jEditableなどの jQuery プラグインで検証などを使用できるようにしたいと思います。

したがって、これを行う最善の方法は、フォームを json として jquery 関数に送信し、それを HTML 要素に入れることだと思います。

私がやったこと:

jQuery:

$.get("getorganisationform/"+curOId, function(data){
    if(data.responseCode==200 ){   
        $( "#innerModal" ).append(data.form);
    }
});

コントローラ:

$form = $this->createForm(new OrganisationType, $organisation);

    $formHandler = new OrganisationHandler($form, $this->get('request'), $this->getDoctrine()->getEntityManager());

    if( $formHandler->process() )
    {
        return $this->redirect( $this->generateUrl('adminpanel') );
    }

    return new Response(json_encode($form), 200);

$form はオブジェクトであるため、json_encode() は実際には何も送信しません。今、私はいくつかの質問があります:

  • フォームの html 要素を取得する方法はありますか?
  • jsonを使用する必要がありますか?
  • jqueryでフォーム生成を再利用するより良い方法はありますか? (私はここでジェディタブルについて考えています)

前もって感謝します!

4

2 に答える 2

0

htmlフォームのコンテンツを取得するためにこれを試してみてください。

return new Response(
    json_encode(
        array(
            'form' => $form->createView(),
            'responseCode' => 200
            )
        ), 
    200
);
于 2012-06-13T15:29:01.223 に答える
0

さらに調査した結果、フォームにフィードした小枝をレンダリングすることにしました。このようにして、応答で送信された html コンテンツを取得します。通常:

return $this->render('MyBundle:Admin:form.html.twig', array(
        'form' => $form->createView(),
    ));
于 2012-06-14T08:16:19.557 に答える