【问题标题】:Symfony Edit Form Using Popup On listing PageSymfony 在列表页面上使用弹出窗口编辑表单
【发布时间】:2016-02-12 10:00:09
【问题描述】:

我正在使用KNPPaginationBundle 显示记录列表。我想在弹出模型中编辑这些记录,同时保持在同一个列表页面上。我读过它。很多人都在使用 jquery 来做这件事。但我想在 Symfony Way 中做到这一点。

listing页面可以编辑表单吗?

【问题讨论】:

    标签: twitter-bootstrap symfony popup symfony-forms knppaginator


    【解决方案1】:

    您必须使用 Ajax 来编辑记录并保持在同一页面中,因此您必须使用 jquery

    【讨论】:

    • 我知道,但我不想使用 ajax。
    【解决方案2】:

    正如@NinjaTN 所说,您需要使用 ajax 才能使用弹出窗口。 如果您不想使用 ajax,则需要通过列表视图上的编辑按钮向用户发送表单视图。

    Form from Symfony doc

    或者您可以使用 easyadmin 之类的捆绑软件

    另一种方法是在您的列表网格中的 clickevent 上填充您的表单,使用 JS 将您需要的所有元素发送到您的表单,然后显示您的弹出窗口。

    【讨论】:

      【解决方案3】:

      一开始你是在混合两种不同的东西。 Symfony 只是 php 框架,与 jQuery 或 javascript 无关。所以使用 symfony 你不能像使用 jQuery 那样做事。

      如果您想在没有 jQuery 的情况下执行此操作,这意味着您想在普通的 twig 中没有 javascript 的情况下执行此操作?如果是这样,您必须为模式窗口中的每一行呈现一个表单。

      如果你想在没有 ajax 请求的情况下使用 javascript,你可以这样做:

      1. 在列表页面上呈现一个编辑表单。
      2. 当用户选择要编辑的行时,显示一个模式窗口并使用 javascript 至少更改路由中的 id。
      3. 提交后,请确保编辑操作会将用户重定向回列表。

      如果这是您对“留在页面上”的定义,那么您就完成了。如果不是,你不能在没有 ajax 的情况下做到这一点,symfony 不会帮助你,因为它没有“javascript 支持”。

      【讨论】:

        猜你喜欢
        • 2015-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多