Support » Plugin: Bootstrap for Contact Form 7 » Bootstrap for Contact Form 7 creating empty alert boxes

  • With both Contact Form 7 and Bootstrap for Contact Form 7 active, a blank “alert” div appears where the [response] shortcode is added.

    The Bootstrap for Contact Form 7 plugin apparently no longer distinguishes between different types of response, or when they are active or not.

    Does anyone know how to fix this?

    I’ve made a hackish CSS workaround but it would be great if a real fix were available! My workaround doesn’t distinguish between types of messages.

    Here’s my workaround. Note that it uses the yellow color for all messages, even success:

    
    .wpcf7-form .wpcf7-response-output.alert {
        color: #856404;
        background-color: #fff3cd;
        border-color: #ffeeba;
    }
    .wpcf7-form .wpcf7-response-output:empty {
    	display: none;
    }
    
Viewing 15 replies - 1 through 15 (of 15 total)
  • I noticed this, too.

    But you can simply use:

    .wpcf7-response-output {
        display: none;
    }

    CF7 will apply style="display: block" to the div, so it will overwrite above CSS.

    Another question:

    Do your error notices on the fields work for you?

    Hi @xsonic

    Your CSS workaround is another option. I get no background color at all on the alert message with your simpler code. You too?

    Re:

    Do your error notices on the fields work for you?

    You are right. I’m not getting those either.

    I get no background color at all on the alert message with your simpler code. You too?

    Ah yes, right. I forgot that I fixed that too in my script. I already filed a pull-request with the needed changes, but the plugin developer seems unresponsive: https://github.com/felixarntz/bootstrap-for-contact-form-7/pull/62

    You are right. I’m not getting those either.

    Thought so. This plugin right now is unusable, I don’t know if the maintainers have abandoned it.

    For a quick fix you can use this https://pastebin.com/aHvRpuVd and paste it in the file assets/dist/js/scripts.min.js

    @xsonic – Thanks for sharing that bit of code.

    You wrote:

    I don’t know if the maintainers have abandoned it.

    See: https://wordpress.org/support/topic/status-of-bootstrap-for-contact-form-7/

    I’m not hopeful.

    @xsonic – Does the “fix” actually fix the plugin’s issues? You mentioned your github pull request. If that will work as a temporary update, perhaps you could mention it here, at the author’s sticky thread that I instigated:

    https://wordpress.org/support/topic/status-of-bootstrap-for-contact-form-7/

    It would be good if Felix could apply at least one more update until he finds someone to take over the plugin.

    claumigue

    (@claumigue)

    @xsonic – Thanks, your code works, at least for now

    • This reply was modified 2 months ago by claumigue.
    hommealone

    (@hommealone)

    @xsonic
    I’ve tried your fix. Thanks for posting it.

    Just to be clear, the empty alert elements still appear (with the orange alert-warning background color) for you too, right? (Not a big deal, it’s easy to hide empty alerts with a simple CSS rule.)

    Also, your version is not meant to re-enable the error note below the specific field that has an error, is it? I still don’t get those.

    @hommealone Yes, you need to add the CSS, too (my fix just fixed the JS side of things):

    .wpcf7-response-output {
        display: none;
    }

    Also, your version is not meant to re-enable the error note below the specific field that has an error, is it? I still don’t get those.

    Ah I’m sorry, forgot to post that you need to change modifications.php, too.

    Here is the pull request:

    https://github.com/felixarntz/bootstrap-for-contact-form-7/pull/62/commits/48d4459b495ffb1c57127b541b3a034d2579bf6b#diff-5cc774cd138abd6f79ae7413bdf16c48

    Pastebin of the whole file here:

    https://pastebin.com/1m8BmwyE

    Let me know if this works for you.

    @xsonic
    Sorry I couldn’t respond sooner.

    After applying your modified modifications.php file, the responses are now normal CF7 responses, I think. But still no specific error messages below, say, a blank “required” field.

    Do you get those type of context-specific error notices?

    @hommealone
    It is the same with me. I see the error messages, but you don’t have the typical colors of Bootstrap, because additionally to the class “alert” for example the class “alarm” is missing.

    *facepalm* I’m an idiot

    I did not change the “scripts.min.js”.

    You can at least just save the content of the scripts.js from @xsonic in it. Then the colors are back again!

    Maybe this helps someone.

    • This reply was modified 1 month, 1 week ago by comonist34.

    @comonist34

    Odd, but I’m still not seeing what you’re seeing, apparently. I substituted the @xsonic version of both scripts.min.js (which is not minified but that doesn’t matter for our purposes) and modifications.php.

    With all of the changes to the plugin files that @xsonic suggests, I am now seeing those messages as the way CF7 outputs them, with no bootstrap styling. In that way, they do get different colors for different messages as per normal CF7 behavior. Not too bad of a solution. You can style those further using CSS if you need to.

    I’m also not getting the non-validating field hint messages. Are you getting those now?

    BTW, although it does not show the hint messages for specific fields that have been filled incorrectly (or not filled, for required fields) – at least for me!! – it’s possible to use CSS with the information provided by CF7 to highlight the fields that need attention, and add a field-specific validation message to empty required fields. Let me know if you’d like my CSS (and a little javascript for the empty required fields) and I can post it. However…

    It’s not clear at what point it becomes not worth it to tweak and create workarounds for this plugin, versus abandoning it and simply adding some of your own styling and js to the basic CF7 output. I do really wish that the plugin author would see fit to update this one more time, until he finds someone else to take it over!

    Question for both @xsonic and @comonist34
    After replacing the two files that @xsonic modified, is it really now working for you as it used to, without any other further tweaks?

    And if so… @xsonic – would you consider seeing if the author would allow you to take over the plugin, or be a contributor, even just temporarily perhaps? You at least seem to have a working version of it now. Then an update could be made.

    hommealone

    (@hommealone)

    Nevermind, @xsonic and @comonist34 , I think I have it working now.

    If anyone is interested, here is the CSS that I’m using to make things look and work right:

    .wpcf7-response-output:empty {
    	display: none;
    }
    .wpcf7-response-output.alert {
    	background-color: aliceblue;
    	border-radius: 5px;
    	border: 1px solid silver;
    }
    .wpcf7-form.invalid .wpcf7-response-output.alert {
    	background-color: moccasin;
    }
    

    (Along with the modifications to modifications.php and assets/scripts.min.js that @xsonic supplied!)

    • This reply was modified 1 month ago by hommealone.
    comonist34

    (@comonist34)

    @hommealone Thank you.
    I will try it later.

    The code of Github did not completely solved the problem for me.

    I think there are still parts in the scripts.js/scripts.min.js, which do not work. For example there is a part which should hide the message, if it’s empty.
    The CSS is a workaround. But the main goal should be, to use the native bootstrap classes and no additional CSS.

    At the moment i have no time to look deeper into it.

    hommealone

    (@hommealone)

    @comonist34

    Agreed. Yes, the stuff from @xsonic does not work 100%, and all of these things are work-arounds until the plugin author pushes through a real update (hopefully, please!) or finds someone to take over the plugin. I have scores of forms altogether, on dozens of sites built using this plugin, so am happy to use a work-around for now and keep hoping for a real solution, rather than re-coding all of those forms from scratch.

    Please add your support for him to work hard to find a new plugin author, or at least push through one more update, here:
    https://wordpress.org/support/topic/request-for-maintenance/

    Meanwhile, I’ve updated the CSS work-around just a little bit (green success message and red failure hints):

    .wpcf7-response-output:empty {
    	display: none;
    }
    .wpcf7-response-output.alert {
    	background-color: #d9ffd9; /* or aliceblue if you prefer a blue success alert */
    	border-radius: 5px;
    	border: 1px solid silver;
    }
    .wpcf7-form.invalid .wpcf7-response-output.alert {
    	background-color: moccasin;
    }
    .wpcf7-form.invalid div.form-group.has-error input,
    .wpcf7-form.invalid div.form-group.has-error textarea {
    	border-color: #a71d2a;
    }
    form.wpcf7-form .form-group span.help-block.wpcf7-not-valid-tip {
    	color: #a71d2a;
    	font-size: 1rem; /* adjust if you need to */
    	font-style: italic; /* just my preference */
    }
    

    This corrects for still existing deficiencies in the tweaks from @xsonic

    • This reply was modified 1 month ago by hommealone.
Viewing 15 replies - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.