提交前WordPress NinjaForms JavaScript API

时间:2017-04-04 09:28:28

标签: javascript wordpress backbone.js marionette ninja-forms

我正在使用WordPress Ninja Forms,我试图创建一个表单预览,在通过Ajax发送数据之前必须接受它。这意味着我需要在表单验证和提交过程之间添加自定义JS-Code。

到目前为止,我尝试了以下内容:

var form_id = 1;
var PreviewFormController = Marionette.Object.extend({

  initialize: function() {
    Backbone.Radio.channel( 'form-' + form_id ).reply( 'maybe:submit', this.PreviewForm, this, form_id);
  },

  PreviewForm: function(formID){

    var formModel = nfRadio.channel( 'app' ).request( 'get:form', formID );

    if(formModel.getExtra('previewOk')){
      return true;
    }
    this.ShowPreview( formModel );
    return false;
  },

  ShowPreview: function(formModel){
    if(confirm("You sure?")){
      nfRadio.channel( 'form-' + form_id).request( 'add:extra', 'previewOk', true );
      nfRadio.channel( 'form-' + formModel.get( 'id' ) ).request( 'submit', formModel );
    }
  }
});

$(function(){
    new PreviewFormController();
});

问题是PreviewForm现在出现在字段验证之前。如何在字段验证后挂钩函数?

由于Codex似乎尚未准备就绪,我有点迷失了。如果有人能在那里帮助我,我会很高兴。

1 个答案:

答案 0 :(得分:0)

我相信你想用这个

initialize: function() {
    this.listenTo( Backbone.Radio.channel( 'forms' ), 'init:model', this.PreviewForm );
},