2013-10-13 59 views
2

我需要使用Knockout.js,JavaScript和Ajax和燒瓶WTF(形式),因此,這裏是一些示例代碼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> 

現在在這裏,我採取的形式ID名爲「new_postform」,但在Knockoutjs我需要寫在數據綁定=「TEXT:名稱」內嵌代碼那種片斷我需要寫在

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

但是,這給了我模板錯誤Flask-WTF不支持數據綁定內聯。我是否需要編寫一些高級宏來完成Knockoutjs的MVVM支持。

+1

可能重複的[如何添加包含一個連字符到一個WTForms字段的屬性(http://stackoverflow.com/questions/12284732/how-to-add-an-屬性 - 包含 - 連字符到wtforms字段) – nemesv

+0

以及感謝nemev引用我的問題。 –

回答

1

指定數據綁定作爲電子郵件字段的該示例如下:

{{form.email(所需=真,** { '數據綁定': '值:電子郵件'})} }

參考:Snippet