Zend Framework 2 - jquery模式弹出问题

时间:2013-04-27 19:09:35

标签: jquery-ui zend-framework2

我有一个通过jquery showform.phtml加载到div中的视图dialog。在视图中,我正在加载一个带有$(form).submit()侦听器的javascript。问题是,javascript永远不会被加载。我尝试了几种不同的方法,包括$this->headScript()->appendScript(script)$this->headScript()->appendScript(file)。我甚至尝试在布局和索引视图中包含脚本,以确保它可用...但弹出窗口永远不会触发它。

我怀疑这与我在表单视图中使用setTerminal(true)这一事实有关...但我不知道替代方案是什么。

有人对故障排除有任何建议吗?或者对这个问题的任何经验?

谢谢

编辑: 这是在index.phtml视图中加载的示例javasctipt

$(function()
{    
    $("form#News").submit(function()
    {
        $.ajax(
        {
            type: 'POST',
            url: '/main/manage/validateajax',
            data: $('form#News').serialize(),
            success: 'success'
        });

        return false;
    });
});

视图的主体是showform.phtml加载的div showform创建一个名为#News的表单。

当我将js代码插入到showform的主体中时,它可以工作。当我将它附加到headScript时,它不起作用。

1 个答案:

答案 0 :(得分:0)

也许这是一个适合你的解决方案。

要求:您的模态视图的脚本必须已加载(例如在 application.js 中)

$("#loadModalBtn").click(function(e){
    e.preventDefault();

    var url = $(this).attr("href");

    $("#modalContainer").load(url, function(){  // that's the point

        var urlForm = $("form#News").attr("action");

        $("form#News").submit(function(){
            $.ajax({
                type: 'POST',
                url: urlForm,
                data: $('form#News').serialize(),
                success: 'success'
            });
            return false;
        });
    }).dialog({
        height: 140,
        modal: true
    }); 
});