在确认对话框中重定向到模板之前,请执行一个操作

用户名

第一个字段是评论家的标题,第二个字段是评论家的内容。当我在标题字段中写一些东西时,会自动在数据库中创建对象Critic。在这种情况下,我会在新行中添加新评论者,但在内容文件中,该值为null。在这种情况下,将显示一个确认对话框。

当出现确认对话框时,我该怎么做才能单击“确定”按钮,并且除了被重定向到新模板之外,还执行Controller的eliminarCriticaAction。

$('a').on('click', function(e) {
        if( ! $('#criTitulo').val() || ! $('#criContenido').val() ) {
            if ( ! $('#criTitulo').val() && $('#criContenido').val() ) {
                if(! window.confirm( 'Falta el titulo' )) {
                    e.preventDefault();
                }               
            }
            else if ( ! $('#criContenido').val() && $('#criTitulo').val() ) {
                return confirm('Falta el contenido');
            }   
        }
    });

删除控制器的动作:

public function eliminarCriticaAction($pysStr)
{
    $em = $this->getDoctrine()->getManager();
    $pys = $em->getRepository('PYSBundle:Pys')->findPys($pysStr);
    $usuario = $this->get('security.context')->getToken()->getUser();
    $critica = $em->getRepository('UsuarioBundle:Usuario')->findCritica($usuario, $pys);

    if(!$critica) 
    {
        throw new AccessDeniedException("No hay ninguna crítica que borrar");
    }

    $em->remove($critica);

    $em->flush();

}

编辑

$('a').on('click', function(e) {
    var titulo = $('#criTitulo').val(), contenido = $('#criContenido').val();
    console.log(titulo);
    console.log(contenido);
    if ( ( titulo && !contenido ) || ( !titulo && contenido ) ) {
        e.preventDefault();
        console.log('Link clicked !');
        if (window.confirm( 'Falta el titulo' )) {
            $.get(Routing.generate('eliminar_critica.' + $('html').attr('lang'), { "_locale": $('html').attr('lang'), "pysStr": $('section').attr('pelicula') }));
            window.location.href = $(e.target).attr('href');
        }
    }
});
翻动

我不清楚到您的删除控制器的路由是什么。我将假定路由名称为“ my_pys”的“ / Pys / {pysStr}”。另外,您当前的“ pysStr”应该在树枝模板中作为变量提供。假设您在显示控制器中输入:

'currentPysStr' => $pysStr    (put this in the render method are argument)

$('a').on('click', function(e) {
    if( ! $('#criTitulo').val() || ! $('#criContenido').val() ) {
        if ( ! $('#criTitulo').val() && $('#criContenido').val() ) {
            if(! window.confirm( 'Falta el titulo' )) {
                e.preventDefault();
            } else {
                $.get({{ path('my_pys', {'pysStr': currentPysStr}) }})
            }
        }
        else if ( ! $('#criContenido').val() && $('#criTitulo').val() ) {
            return confirm('Falta el contenido');
        }   
    }
});

然后,在删除控制器中,您将拥有当前的PysStr,只有在确认对话框中按“确定”时,才会调用此控制器。

与您在订单问题中一样,您可以选择将该脚本放在树枝模板中还是使用全局变量。https://stackoverflow.com/questions/18035337/translate-the-jeditable-plugins-attributes/18035436#18035436

编辑:(聊天后)

$('a').on('click', function(e) {
    var titulo = $('#criTitulo').val(),
        contenido = $('#criContenido').val();
    console.log(titulo);
    console.log(contenido);
    // Requested: XOR
    // One of the values must be set, the other one must not be set
    if ( ( titulo && !contenido ) || ( !titulo && contenido ) ) {
            e.preventDefault();
            console.log('Link clicked !');
            if (window.confirm( 'Falta el titulo' )) {
                var ajax;
                var url = Routing.generate('eliminar_critica.' + $('html').attr('lang'), { "_locale": $('html').attr('lang'), "pysStr": $('section').attr('pelicula') });
                console.log(url); // This is just here for debugging purposes
                ajax = $.get(url);
                ajax.done(function() {
                    window.location.href = $(e.target).attr('href');
                });
            }
    }
});

放置window.location.hrefdone()确保在刷新页面之前发出请求

eliminarCriticaAction应该给出一个响应,表示一切都继续进行(2 **)。204是这样的:

return new response('', 204); // 204: No Content

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果用户用户通过引导对话框确认链接,请重定向到相应的链接

来自分类Dev

为什么在 SharePoint 中关闭模式对话框时无法重定向到另一个 URL?

来自分类Dev

JSF重定向到另一个页面并打开对话框

来自分类Dev

如果用户用户通过引导对话框确认链接,则重定向到相应的链接

来自分类Dev

在jQuery 1.4.2中添加一个简单的确认/取消对话框

来自分类Dev

拒绝确认对话框时重定向

来自分类Dev

在对Struts 1进行操作之前确认对话框

来自分类Dev

在确认对话框结果之前调用Commandlink操作

来自分类Dev

如何在不重定向到另一个组件/页面的情况下使对话框以有角度的方式弹出?

来自分类Dev

如何将对话框位置坐标复制到另一个对话框中?

来自分类Dev

在一个模式对话框中显示多个模板

来自分类Dev

控制器操作 - 重定向到另一个模板

来自分类Dev

如何关闭由GEB中的另一个窗口打开的确认对话框

来自分类Dev

xpages重定向到页面并关闭当前对话框

来自分类Dev

通过对话框重定向到新页面

来自分类Dev

从一个模块中的操作重定向到父项目中的操作

来自分类Dev

确认之前,Alertify对话框消失了

来自分类Dev

在ASP.NET中提交表单之前,请确认对话框

来自分类Dev

在onClick中显示一个对话框

来自分类Dev

查找。执行并显示确认对话框

来自分类Dev

C#显示对话框在WinForms中的另一个对话框?

来自分类Dev

如何在重定向到 asp.net 中的另一个网页之前在网页上显示消息框?

来自分类Dev

我们如何实现一个模态对话框,该模态对话框像底部对话框一样从右到右?

来自分类Dev

Shell重定向-对话框

来自分类Dev

如何通过执行JavaScript代码添加动态操作以重定向到另一个页面?

来自分类Dev

服务器单击在用户单击确认对话框之前执行

来自分类Dev

如何在单个确认对话框中组合两个或多个确认对话框?

来自分类Dev

如何在第一个弹出窗口之前渲染对话框?

来自分类Dev

为什么第二个链接单击重定向到部分不对话框

Related 相关文章

  1. 1

    如果用户用户通过引导对话框确认链接,请重定向到相应的链接

  2. 2

    为什么在 SharePoint 中关闭模式对话框时无法重定向到另一个 URL?

  3. 3

    JSF重定向到另一个页面并打开对话框

  4. 4

    如果用户用户通过引导对话框确认链接,则重定向到相应的链接

  5. 5

    在jQuery 1.4.2中添加一个简单的确认/取消对话框

  6. 6

    拒绝确认对话框时重定向

  7. 7

    在对Struts 1进行操作之前确认对话框

  8. 8

    在确认对话框结果之前调用Commandlink操作

  9. 9

    如何在不重定向到另一个组件/页面的情况下使对话框以有角度的方式弹出?

  10. 10

    如何将对话框位置坐标复制到另一个对话框中?

  11. 11

    在一个模式对话框中显示多个模板

  12. 12

    控制器操作 - 重定向到另一个模板

  13. 13

    如何关闭由GEB中的另一个窗口打开的确认对话框

  14. 14

    xpages重定向到页面并关闭当前对话框

  15. 15

    通过对话框重定向到新页面

  16. 16

    从一个模块中的操作重定向到父项目中的操作

  17. 17

    确认之前,Alertify对话框消失了

  18. 18

    在ASP.NET中提交表单之前,请确认对话框

  19. 19

    在onClick中显示一个对话框

  20. 20

    查找。执行并显示确认对话框

  21. 21

    C#显示对话框在WinForms中的另一个对话框?

  22. 22

    如何在重定向到 asp.net 中的另一个网页之前在网页上显示消息框?

  23. 23

    我们如何实现一个模态对话框,该模态对话框像底部对话框一样从右到右?

  24. 24

    Shell重定向-对话框

  25. 25

    如何通过执行JavaScript代码添加动态操作以重定向到另一个页面?

  26. 26

    服务器单击在用户单击确认对话框之前执行

  27. 27

    如何在单个确认对话框中组合两个或多个确认对话框?

  28. 28

    如何在第一个弹出窗口之前渲染对话框?

  29. 29

    为什么第二个链接单击重定向到部分不对话框

热门标签

归档