WordPress NinjaForms JavaScript API antes de enviar

1 minuto de lectura

avatar de usuario
Nico Martín

Estoy usando WordPress Ninja Forms y estoy tratando de crear una vista previa del formulario que debe aceptarse antes de que los datos se envíen a través de Ajax. Eso significa que necesito agregar un código JS personalizado entre la validación del formulario y el proceso de envío.

Hasta ahora probé lo siguiente:

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();
});

El problema es ese PreviewForm ahora viene antes de la validación del campo. ¿Cómo es posible enganchar la función? después la validación de campo?

Estoy un poco perdido ya que el Codex no parece estar listo todavía. Me alegraría mucho si alguien pudiera ayudarme allí …

Creo que quieres usar esto.

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

¿Ha sido útil esta solución?