• I am having an issue on using the Signature Addon. When I submit my form I get a validation error for the required signature and then if I just hit submit again it submits fine.

Viewing 11 replies - 1 through 11 (of 11 total)
  • Thread Starter scottzozer

    (@scottzozer)

    It looks like the signature base64 isnt added to the hidden field until after I hit submit the first time. Is there a control button I am missing that allows a user to save their signature or similar? right now it only shows a clear button.

    I have also removed all other CF7 plugins. Is there a known list of plugins that do not play well with your plugin?

    • This reply was modified 3 years, 3 months ago by scottzozer.
    Thread Starter scottzozer

    (@scottzozer)

    I am thinking its a timing thing. It seems that the form checks validation quicker than your plugin moves the signature into the hidden field thus failing the validation of required field.

    Thread Starter scottzozer

    (@scottzozer)

    Currently what I am doing to work around this issue is the following

    var doublecheckblocker = 0;
        document.addEventListener( 'wpcf7invalid', function( event ) {
            var inputs = event.detail.inputs;
            var validation_errors = [];
            if(inputs.length > 0) {
                for (var i = 0; i < inputs.length; i++) {
    
                    if ('participant-signature' != inputs[i].name && inputs[i].value == "") {
                        validation_errors.push(inputs[i].name);
                    }
                    if ('participant-signature' == inputs[i].name && inputs[i].value == "") {
                        if (validation_errors.length < 1 && doublecheckblocker <= 1) {
                            ++doublecheckblocker;
                            $('#consent-form').submit();
                            break;
                        }
                        if(doublecheckblocker >= 2){
                            doublecheckblocker = 0;
                        }
                    }
    
                }
            }
    
        }, false );
    

    I’m having the same issue after updating to CF7 5.4.

    Here’s what I did to fix it:
    In this file contact-form-7-signature-addon\public\js\scripts.js
    Before line 57, add this code:

    // Custom Event Listener to populate signature data before submit.
    $(form).find('input.wpcf7-submit').on('mouseover', function() {
        sigObj.beforeSubmit();
    });

    This forces the signature data to be copied over to the hidden field when the user mouses over the submit button, which completes just in time before the form actually submits.
    This works on edge, chrome, firefox, android and iphone (safari).
    Noting this could get messed up if the user submits the form a different way (e.g. by hitting “enter”) but if your signature field is the last field on the page this probably won’t happen

    • This reply was modified 3 years, 1 month ago by chloemccarty.

    Hi @chloemccarty,

    I placed your code on that line, but i didn’t change anything for me.
    I get an error in the console, it just does not send the form.

    What error do you get? What browser are you using?
    If you add
    console.log('hover'); before the sigObj.beforeSubmit(); in the code I posted above, do you see that log to the console when you go to click the submit button?

    No nothing happens. At this moment i went back 1 CF7 version. I used in chrome and firefox.

    Having the same issue with my client site too, whereby upon submission and error is found, however validation no longer appears flagging the field – which isn’t user friendly.

    I sussed it out in the browser inspector by checking the error list under the hidden screen reader info!

    Hoping for a solution soon, as it’s not ideal to modify the plugin files directly…

    I was able to resolve the validation issues by using my code above plus https://wordpress.org/support/topic/cf7-5-4-update-missing-validation-message/#post-14152788 to fix the empty validation message.

    Are you using the normal [submit] shortcode for your submit button in cf7?

    @chloemccarty Thanks for saving me..
    appriciate a lot

    I have implemented the fix described and made sure the scripts.js and the class-wpcf7-signature-public.php files were updated. My validation issue still exists. I am using EDGE to test it.

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Validation Required Issues’ is closed to new replies.