javascript - WordPress NinjaForms JavaScript API 提交前

标签 javascript wordpress backbone.js marionette ninja-forms

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

到目前为止,我尝试了以下方法:

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现在出现在字段验证之前。字段验证后如何 Hook 函数?

我有点迷茫,因为 Codex 似乎还没有准备好。如果有人可以在那里帮助我,我会很高兴..

最佳答案

我相信你想用这个

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

关于javascript - WordPress NinjaForms JavaScript API 提交前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43203283/

相关文章:

javascript - 选择框 onchange 时更新 mysql 表中的值

javascript - 我应该使用哪个 JSlint?

javascript - 如果 DIV 包含选中的复选框,则设置显示为 block

jquery - 将高图像调整为 flexbox 网格中其他图像的大小

javascript - 延迟 href 执行点击,直到 ajax 调用之后

backbone.js - 您如何在Coffeescript中进行匿名类(class)?

jquery-ui - jQuery UI Droppable未捕获TypeError

javascript - 如何在模态中传递数据属性

mysql - 如何在没有完全权限的情况下传输 MySQL 数据库?

php - 在 Woocommerce 中添加带有附加单选按钮的自定义支付网关