在fancybox中提交表单

时间:2011-07-08 13:29:40

标签: javascript jquery html ajax fancybox

是否可以在fancybox中创建要提交的表单。

<a class="assignScoreValues" href="/quality/assign-score-values/id/1">Assign Score Values</a>

然后在控制器中显示要提交的表格。我无法重定向,因为我将丢失原始页面上的信息。

我认为这不可能?

2 个答案:

答案 0 :(得分:0)

Fancybox窗口是父窗口的HTML的一部分。因此,如果您的fancybox不包含iframe,则在fancybox中提交将重新加载您的父页面。

因此,正确提交表单的明显(也是我认为唯一的)方法是通过AJAX来实现。然后,您可以使用$.fancybox.close()方法关闭fancybox。

答案 1 :(得分:0)

您可以使用Jquery和serializeArray()使用AJAX提交表单。要使用HTML链接提交:

<a onclick="var data=jQuery('#form_id').serializeArray();
            $.ajax(
            {
                url:'url/to/post',
                type:'POST',
                data:data,
                success:
                    function(data){
                        //do something on success, for example close fancybox:
                        $.fancybox.close();
                }
            });
            return false;
            "
href="javascript:void(0);">Save Form</a>