【问题标题】:Django Flowplayer overlay does not submit formDjango Flowplayer覆盖不提交表单
【发布时间】:2011-06-20 10:35:30
【问题描述】:

我正在尝试使用 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>

我的视图繁荣有一个模型形式。

【问题讨论】:

  • 最好也提供包含表单的视图。你的问题很可能就在那里。

标签: django django-forms django-views flowplayer


【解决方案1】:

没有看到实际的视图代码,很难给出有用的答案。今后,请务必这样做……

如果您没有将叠加层编程为重定向到页面,那么将其提交到相同的 url 可能会在您不注意的情况下处理/保存数据。数据是否正在保存,或者当您单击“提交”时完全没有任何反应?

通常,它是这样工作的:您需要发布到 urls.py 中定义的 url,该 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 2020-12-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多