将表单数据提交到iframe FancyBox(或Modal?)

时间:2016-03-14 11:25:23

标签: javascript jquery django python-2.7 iframe

我必须使用python制作数字Scrum板。作为框架,我正在使用Django。

现在我正在努力将数据传递给FancyBox iframe。我的想法是使用隐藏字段<form>,如果我提交表单,则应将数据发布到iframe

iframe包含另一个表单,该表单必须包含其他表单提交的值。

我有一个包含列的表,表和列都有id,其中表id是唯一的,列id不是,如果我想添加一个项,表和列id应该传递给一个创建表单(在iframe内部。)

这是我的第一张表格的样子:

<form id="createtask" method="get" action="{% url "create_task" board.id column.id %}">{% csrf_token %}
    <input class="hidden" name="column_id" id="column_{{ column.id }}" value="{{ column.id }}">
    <input class="hidden" name="board_id" id="board_{{ board.id }}" value="{{ board.id }}">
    <input type="submit" value="Create">
</form>

我知道我使用get代替post,我之所以这样做,这是answer的第二个选项。

答案包含以下jQuery:

$(function() {
    $("#createtask").submit(function() {
        $form = $(this);
        $.fancybox({
                'title': "form submission",
                'href': $form.attr("action") + "?" + $form.serialize(),
                'type': 'iframe'
        });
        return false;
    });
});

问题是数据是通过的,而是在iframe内部,它会在iframe内加载一个包含我想要的内容的新页面。

如果我使用

<a href={% url "create_task" board.id column.id %}>

而不是

<input type="submit" value="Create">

表单未提交,但iframe内的表单已按预期加载。

我的问题是,有没有将数据传递给iframe的解决方案? 是否有更多的Django / Python方式呢? 它会帮助我使用bootstrap模式而不是iframe吗?

编辑:

rcadhikaris答案很好,但它只是一种解决方法。

使用jQuery从parent.document中读出数据使得我根本不使用该表单,但问题仍然是如何将表单数据提交给iframe。

1 个答案:

答案 0 :(得分:1)

为什么不使用data-代码并使用jQuery从iframe中获取代码。

相关问题