В настоящее время я работаю с плагином «NinjaForms» для WordPress, который обеспечивает управление пользовательскими формами для серверной части. Он основан на Marionette/Backbone JS. После некоторых исследований у меня не возникло проблем с запуском функций JavaScript при изменении ввода и при отправке формы. Тем не менее, я не нашел способа ловить событие после инициализации/рендеринга/отображения формы (на самом деле, любого из них).
Что я делаю прямо сейчас, так это инициализирую объект Marionette, добавляю слушателей к радио, а затем добавляю функции для его выполнения по событию:
if(typeof Marionette !== 'undefined') {
var mySubmitController = Marionette.Object.extend( {
initialize: function() {
// init listener
this.listenTo( Backbone.Radio.channel( 'forms' ), 'view:show', this.initAction);
// field change listener
this.listenTo( Backbone.Radio.channel( 'fields' ), 'change:modelValue', this.valueChanged);
// submit listener
this.listenTo( Backbone.Radio.channel( 'forms' ), 'submit:response', this.actionSubmit );
},
// init action
initAction: function() {
console.log("init");
},
// input update action
valueChanged: function(model) {
console.log("update");
},
// submit action
actionSubmit: function( response ) {
// handled via php
console.log("submit");
},
});
// initialise listening controller for ninja form
new mySubmitController();
}
Однако линия this.listenTo( Backbone.Radio.channel( 'forms' ), 'view:show', this.initAction);
не работает. Я пробовал события view:render
, view:show
, show:view
, render:view
безуспешно.
Я искал в документации Backbone/Marionette, но не смог найти подходящего события. Этот вопрос может быть дубликатом, но я не смог найти ни одной темы, касающейся событий инициализации формы с помощью Backbone.
backbone.radio
lib - person taburetkin   schedule 01.08.2018backbone.radio
передbackbone.marionette
скриптом 2) документация ниндзя для выяснения, есть ли какие-либо триггеры для этих событий. Backbone и Backbone marionette не запускают никаких событий, единственное место, где это можно сделать - формы ниндзя. - person taburetkin   schedule 01.08.2018