Я нашел это на каналах Slack для разработчиков Ninja Forms о том, как связывать функции с изменениями страниц. Может быть, это может быть решением для вас.
Вам нужно будет подключиться к смене страницы:
nfRadio.channel( 'nfMP' ).trigger( 'change:part', this );
См .: /assets/js/front-end/models/partCollection.js#33
Похоже, что если вы подключите свое действие к изменению страницы, оно перейдет на новую DOM на следующей странице.
Альтернативное решение, которое сработало для меня, - это связать ваш jQuery с родительским элементом вашей формы, который не будет удален из DOM, используя следующее:
jQuery(document).on('click', '#parentid'`, function( e layoutView ) {
jQuery( ".nf-field-element ul li label" ).click(function() {
var nextButton = jQuery(this).closest('.nf-form-content').find('.nf-next');
jQuery(nextButton).click();
});
});
Я не проверял это, но, надеюсь, это укажет вам правильное направление.
Кроме того, возможно, что у вас могут возникнуть проблемы с производительностью при использовании on('click')
, я слышал, но это никак не влияет на мою форму.