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