在没有Javascript的情况下动态修改Symfony2中的表单?

时间:2015-02-02 22:59:35

标签: php forms symfony

我正在阅读How to dynamically Generate Forms Based on user Data 来自Symfony2烹饪书。

我正在寻找与上述链接类似的功能。

但是,如果我理解正确,建议使用AJAX来更新表单。

这是对的吗?

这个例子是我想要的功能:

第1步:

Form //Controller locationAction
 ________________
|
|
| Country Select 
|
| |Please select...|
|
|      ____
|     |Next|
 _______________

点击下一步后的期望

  • 提交到相同的locationAction方法
  • 出现
  • 表单,其中包含先前选择的结果。
  • 跳过验证,直到存在所有动态字段。
  • 出现新的州选择字段,选项取决于用户提交的国家/地区字段。

第2步:

|
v

Form //Controller locationAction
 ________________
|
|
| Country Select 
|
|      |U.S.|
|
|  
|      State
|  |Please select ....| //List is displayed that corresponds to their selected country
|
|      ______
|     |Submit|
 _______________

推送提交后

  • 同时验证国家/地区和州,然后执行的操作取决于首先验证的表单(包括动态字段)。

是否可以在一个没有JavaScript的表单中单独使用Form Subscribers/Form Listeners来获得上述结果?

或者我是否需要使用JavaScript /创建单独的表单?

1 个答案:

答案 0 :(得分:1)

  

但是,如果我理解正确,建议使用AJAX进行更新   形式。

不,它没有。您只需将表单提交给同一操作即可。在每个步骤之后,它是一个新的请求/响应,动态表单生成在服务器端处理,而不是通过javascript处理。

也许,dynamic-generation-for-submitted-forms正是您的用例(它是同一指南中的另一部分)。