【问题标题】:Flask- WTF with knockout.js , JavaScript and AjaxFlask- WTF with knockout.js , JavaScript 和 Ajax
【发布时间】:2017-03-11 10:28:47
【问题描述】:

我需要在 Flask-WTF(表单)中使用 Knockout.js、JavaScript 和 Ajax,所以这里有一些示例代码

<form action="{{ url_for('post_it') }}" class="navbar-form form-inline" method="post" id="new_postform">
    {{ form.csrf_token }}
        <fieldset>
          {{ form.hidden_tag() }}

{% from "macro/_formhelpers.html" import render_field %}

            <div class="control-group">
                  <div class="controls">
                        {{ render_field(form.poster, class="form-control", size="5", placeholder="Post Anything" ) }}

                    </div>
            </div>

现在我正在编写一个在页面底部截断的 JavaScript

{% block tail_script %}
<script src="{{ url_for('static', filename='bootstrap/js/jquery.validate.js') }}"></script>
<script src="{{ url_for('static', filename='bootstrap/js/additional-methods.js') }}"></script>
<script type="text/javascript">
$(document).ready(function () {

$('#new_postform').validate({
    rules: {
        form.poster: {
            minlength: 2,
            required: true
        }
    },
    highlight: function (element) {
        $(element).closest('.control-group').removeClass('success').addClass('error');
    },
    success: function (element) {
        element.text('OK!').addClass('valid')
            .closest('.control-group').removeClass('error').addClass('success');
    }
});
});
</script>

现在我在这里采用名为“new_postform”的表单 id,但在 Knockoutjs 中,我需要在 data-bind="text:name" 类型的 sn-p 下编写内联代码,我需要在其中写入

{{ render_field(form.poster,data-bind="text: name", class="form-control", size="5", placeholder="Post Anything" ) }}

但这给了我模板错误,Flask-WTF 不支持数据绑定内联。我是否需要编写一些高级宏来完成 Knockoutjs 的 MVVM 支持。

【问题讨论】:

标签: javascript jquery ajax knockout.js flask-wtforms


【解决方案1】:

在此电子邮件字段示例中按如下方式指定数据绑定:

{{ form.email(required=true, **{'data-bind':'value: email'}) }}

参考:Snippet

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2015-04-07
    • 1970-01-01
    • 2015-12-24
    • 2012-04-12
    • 2016-03-09
    • 2021-09-10
    相关资源
    最近更新 更多