【发布时间】:2016-06-29 09:56:41
【问题描述】:
我必须使用 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 方式来做到这一点?
使用引导模式而不是 iframe 对我有帮助吗?
编辑:
rcadhikaris 的答案很好,但它只是一种解决方法。
使用 jQuery 从parent.document 中读取数据让我根本不使用表单,但问题仍然是如何将表单数据提交到 iframe。
【问题讨论】:
标签: javascript jquery django python-2.7 iframe