diff --git a/css/_single_theme.css.php b/css/_single_theme.css.php index bfec27e0be..ceaa376dfc 100644 --- a/css/_single_theme.css.php +++ b/css/_single_theme.css.php @@ -313,7 +313,8 @@ ?> ..frm_inline_top .frm_submit::before, -. .frm_submit.frm_inline_submit::before { +. .frm_submit.frm_inline_submit::before, +. .frm_submit.frm_aligned_submit::before { content:"before"; font-family:; @@ -331,7 +332,9 @@ ..frm_inline_form .frm_submit input, ..frm_inline_form .frm_submit button, . .frm_submit.frm_inline_submit input, -. .frm_submit.frm_inline_submit button { +. .frm_submit.frm_inline_submit button, +. .frm_submit.frm_aligned_submit input, +. .frm_submit.frm_aligned_submit button { margin: 0 !important; } diff --git a/js/formidable.js b/js/formidable.js index a7d853bd51..46abc283cb 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1753,6 +1753,27 @@ function frmFrontFormJS() { } } + /** + * Detects inline submit buttons by comparing vertical position with the previous sibling field. + * Adds 'frm_aligned_submit' class when the submit button shares the same row as its sibling. + * + * @since 6.26 + * + * @returns {void} + */ + function maybeMarkInlineSubmit() { + document.querySelectorAll( '.frm-show-form .frm_submit' ).forEach( function( submitContainer ) { + const previousSibling = submitContainer.previousElementSibling; + if ( ! previousSibling ) { + return; + } + + if ( submitContainer.offsetTop === previousSibling.offsetTop ) { + submitContainer.classList.add( 'frm_aligned_submit' ); + } + }); + } + return { init() { jQuery( document ).off( 'submit.formidable', '.frm-show-form' ); @@ -1786,6 +1807,8 @@ function frmFrontFormJS() { 'frmPageChanged', destroyhCaptcha ); + + maybeMarkInlineSubmit(); }, getFieldId,