2016-06-14 73 views
0

我需要完全用Javascript來管理複雜的表單。javascript的序列化表單

我不想將整個表單HTML標記提供給用戶。

這就是爲什麼我需要序列化表單,所以我可以用JS來操縱它,而用戶在提交回服務器之前用一些HTML交互操縱。

我看到this pretty old question"deprecated" bundle

的問題很簡單:我如何序列化的Symfony表單的基礎數據


這是我第一次嘗試,已實施的相關對象JsonSerializable後:

{% form.vars.data|json_encode %} 

但顯然這個編碼整個對象公開的屬性

+0

你試過要做到這一點:使用jquery ajax與Symfony中的json和序列化程序組件(http://symfony.com/doc/current/components/serializer.html) – XZKS

+0

有什麼解釋爲什麼這個問題值得關閉? –

+0

現在我看到了接近的全局原因,我想我理解了原因:也許人們不知道我想要在表單中序列化什麼。現在我在更新的問題中告訴它:爲表單配置的基礎數據 –

回答

0

既然我們可以很容易地反序列化提交的表單使用標準的Symfony工具,我認爲會有工具以相同的格式序列化它。那好像不是這樣。

,我們似乎已經實現了自己的序列,這裏怎麼會是這樣的:

static public function serializeForm(FormInterface $form) 
{ 
    if (!$form->all()) { 
     return $form->getViewData(); 
    } 
    $data = array(); 
    foreach ($form->all() as $child) { 
     $data[$child->getName()] = self::serializeForm($child); 
    } 

    return $data; 
} 

我把有趣的部分從所謂的「過時」 SimpleThingsSerializerBundleform serializer