我正在尝试使用flowplayer的叠加来加载内置django表单的外部页面。
然而,叠加层会加载页面,但提交按钮只会刷新页面。
我如何实际提交表格中输入的值?
<script src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js"></script>
<script>
$(function() {
// if the function argument is given to overlay,
// it is assumed to be the onBeforeLoad event listener
$("a[rel]").overlay({
mask: {
color: '#ebecff',
loadSpeed: 200,
opacity: 0.9
},
effect: 'apple',
closeOnClick: false,
onBeforeLoad: function() {
// grab wrapper element inside content
var wrap = this.getOverlay().find(".contentWrap");
// load the page specified in the trigger
wrap.load(this.getTrigger().attr("href"));
}
});
});
</script>
<div class="bananas"><a href="../boom/" rel="#overlay" class="red">launch</a></div>
我的观点热潮有一种模式形式。
答案 0 :(得分:1)
如果没有看到实际的视图代码,很难给出有用的答案。将来,请务必这样做......
如果您没有设置重定向到页面的叠加层,那么将其提交到同一个网址可能会处理/保存数据,而不会注意到。是否保存了数据,或者单击“提交”时绝对没有发生任何事情?
通常,这就是它的工作原理:你需要发布到urls.py中定义的url,它指向views.py中的一个视图函数。 (这些名称仅仅是惯例,可以随意调用)你提到你有一个名为'boom'的视图:它是否在你的urls.py中定义?
url(r'^path/to/boom/$', 'model.views.boom',),
检查这是否已定义,以及您的表单是否已过帐。
然后,视图必须包含处理请求并返回响应的逻辑。发布到该URL会传输一个cleaned_data
表单变量字典,可以通过表单中定义的字段名称进行访问。它看起来像这样:x = form.cleaned_data[x]
。使用form.is_valid()
检查表单的有效性,然后进行处理。这可能涉及保存对象,运行任意代码,无论你想要什么。
要了解更多信息,请务必阅读优秀 documentation。