#12

Product support

Visit this product's website for support.

Categories

  • Developer Tools
  • Marketing
  • Social
  • Utility

Please, post your errors or questions on GitHub (not in the reviews area)


Why Magic Forms?

Almost everyday we make forms for our clients, personal projects, etc. Sometimes we need to add or remove fields, change validations, store data and at some point, this can become boring and repetitive. So, the objective was to find a way to just put HTML elements on the page, skip the repetitive task of coding and (with some kind of magic) store this data in the database or send by mail.

Documentation

New documentation available here: https://skydiver.github.io/october-plugin-forms/

Features

  • Create any type of form: contact, feedback, registration, uploads, etc
  • Write only HTML
  • Don't code forms logic
  • Laravel validation
  • Custom validation errors
  • Use multiple forms on same page
  • Store on database
  • Export data in CSV
  • Access database records from backend
  • Send mail notifications to multiple recipients
  • Auto-response email on form submit
  • reCAPTCHA validation
  • Support for Translate plugin
  • Inline errors with fields (read documentation for more info)
  • AJAX file uploads (BETA, available since v1.3.0)

The following themes use this plugin:

Component settings

Latest documentation available on GitHub

  • Found the plugin useful on 29 Jul, 2018

    Hi,

    Nice plugin! Is there any way to update data using this plugin? For example using this plugin to create a form to enter some data for a contact to database and then update some fields with updated data to database.

  • Found the plugin useful on 21 Jul, 2018

    Great job on creating this very useful plugin!!!

  • Found the plugin useful on 16 May, 2018

    Definitely could use better documentation -- needs a complete step-by-step walkthrough using screenshots (or a video).

    For others, when you override the component HTML, watch out that you call it as a component instead of a partial:

    THIS WORKS JUST FINE
    {% component 'genericForm' %}

    BEWARE THIS WILL NOT WORK
    {% partial 'genericform/default' %}

    Overall a great plugin though, extremely useful once you get it set up.

  • Found the plugin useful on 2 May, 2018

    Hi,

    is there any way how to override parameters as:

    Send Notifications -> Subject Send Auto-Response -> Subject Send Notifications -> Recipients Send Auto-Response -> Sender Address

    for dynamic use?

    thanks

    Vaclav

  • Found the plugin useful on 1 May, 2018

    Can you give an example of validation? Yes, i know about laravel validation rules, but different variants of the key-values don't work

  • Found the plugin useful on 27 Apr, 2018

    Excellent plugin.

  • Found the plugin useful on 22 Mar, 2018

    Useful App Converted to a Comment System

    I spent time building a system that can run as a comment form because I was tired of looking for one outside of the forum topic. Thanks!

    • 1.Create a page for the form
    • 2.Create a partial that is going to load the back-end data
    • 3.Set the where() method to specify what data is being queried
    • 4.Add the ajax handler to refresh partial after submission to the component
    • 5.Add the php call to the onRefreshTime()

    1. Page Markup: Summarized

    <div id="magicForms">{% partial 'testing/magicform' %}</div> <form data-request="{{ genericForm2 }}::onFormSubmit">...</form>

    2. Partial Markup: Summarized

    <ul> {% for record in records %} <li><strong>{{ record.form_data_arr.name }}:</strong> {{ record.form_data_arr.comment }}</li> {% endfor %} </ul>

    3. Parital Code: This is where the the collection methods get handy. Using the where() method I can query for the specific group. Here I am searching for the forms with 'group' and 'testing-comments'; the reverse is to put the newest comment on top.

    use \Martin\Forms\Models\Record as FormsRecords; function onStart() { $comments = FormsRecords::all(); $this['records'] = $comments->where('group', 'testing-comments')->reverse(); }

    4. Generic AJAX Form Component: Add this in More Settings -> JS on Success

    jQuery(document).ready(function($) { setInterval(function () { $.request('onRefreshTime', { update: { 'testing/magicform' : '#magicForms' } }) }, 300); });

    5. Page Code: This is needed for the javascript to call the onRefreshTime.

    function onRefreshTime() { return [ '#magicForms' => $this->renderPartial('testing/magicform') ]; }

  • author

    Replied on 25 Mar, 2018

    Hello Brandon,

    Thanks for your great comment.

    Do you want to add to the "official documentation" here?

    Thanks.-

  • Found the plugin useful on 25 Feb, 2018

    Really simple to use once you know how. Having only just started using OctoberCMS, I was completely lost on how to get this working. But following the documents linked here, this is how I "got" it: create a folder called genericform containing a default.htm file in the theme's partials folder using FTP. Added the genericform component to a page and bingo - customised form. I hope this helps others just starting out with OctoberCMS.

  • author

    Replied on 26 Feb, 2018

    Hello Steven:

    How do you think the docs can be improved?

    Also, you can contribute to the documentation here: https://github.com/skydiver/october-plugin-forms

    Thanks.-

  • Found the plugin useful on 17 Feb, 2018

    Hi for all. Plugin is great. To work captcha you need to make site work via https, because this says on google recaptcha page faq.

  • Found the plugin useful on 9 Feb, 2018

    Martin! It's a very good plugin for me, it's quick and easy to help me when making my website forms. I just started studying the october cms system 2 weeks ago. I have one problem, I can not understand how the Recaptcha section works.

    1. I filled the site and secretkeys under the system menu item.
    2. I have enabled captcha in the recaptcha settings section.
    3. With using your pre-assembled generic form I tried to work but failed. The following error is displayed: An exception has been thrown during the rendering of a template ('recaptcha' partial is not found.)

    What did I miss? How can I make it work?

  • Found the plugin useful on 9 Feb, 2018

    Best Form plugin on the October marketplace.

  • author

    Replied on 26 Feb, 2018

    Thanks Zanor!

  • Found the plugin useful on 3 Feb, 2018

    Magic Forms is great!

    There is only one demo for an example of its use.

    But after reading the comments and documentation it was possible to get it to work.

    All that I needed from the forms, I was able to implement with it!

    Thank you very much, Martin!

  • author

    Replied on 26 Feb, 2018

    Thanks for the comment Roman!

  • Found the plugin not useful on 25 Jan, 2018

    Very poor documentation, didn't understand how to use the plugin. Do you have any quick video guide?

  • author

    Replied on 24 May, 2018

    Feel free to record a video/tutorial and will be happy to include on the front page

  • Found the plugin useful on 11 Jan, 2018

    forms are not submitting on cms pages, but works on cms layouts

    I have a page registration.htm then I created the Empty AJAX Form, but it's not submitting. My other form which is contact form using Generic AJAX Form, I put it in one of my layout and it works fine.

    what should be the problem? is forms not working on cms pages?

  • Found the plugin useful on 21 Dec, 2017

    Great Plugin but the upload file button does not work. Can anyone help me please?

  • Found the plugin useful on 18 Oct, 2017

    This is a great plugin when you get it working.

    The documentation does not make the pre-requisites clear. You must ensure that the October AJAX framework is included on the page: <https://octobercms.com/docs/ajax/introduction#framework-script>;

    Additionally the component cannot be added to a partial otherwise to yet an AJAX handler not found error - it must be added to a page.

  • Found the plugin not useful on 12 Aug, 2017

    The plugin looks OK, but it's broken. I tried all three types of components: emptyForm, genericForm, uploadForm. None of them work. On sending form, the page just reloads with no errors (even in log files). I tried to change SMTP to PHP Mail in October CMS settings. It didn't help me.

    Also captcha for uploadForm didn't output anything (Google keys was set before).

  • Found the plugin useful on 11 Aug, 2017

    "The partial 'recaptcha' is not found." I am getting this problem. I tried finding the answer but none of it worked. Can you please help me?

  • Found the plugin not useful on 29 Jul, 2017

    Seems to be useful, but is poorly documented. Couldn't even put to work the default genericForm.

    Pitty :(

  • Found the plugin useful on 13 Jul, 2017

    Hello and thanks for the great plugin.

    I have a question because I get this error when I use the file uploads plugin: uploader.js:340 Uncaught TypeError: $(...).render is not a function at uploader.js:340 at uploader.js:344

    This is the syntax it's getting stuck on: $(document).render(function () { $('[data-control="fileupload"]').fileUploader() })

    }(window.jQuery);

    I see the upload form and I can submit it but I just can't upload a file. It's not working..

    Can you help me?

  • Found the plugin useful on 11 Jul, 2017

    Hello, not sure what I'm messing I'm not receiving the emails?

    [genericForm ContactForm] group = "ContactForm" rules[name] = "required" rules[email] = "required|email" rules[subject] = "required" rules[message] = "required" rules_messages[name.required] = "name is required" rules_messages[email.required] = "email is required" rules_messages[subject.required] = "subject is required" rules_messages[message.required] = "message is required" rules_messages[email.email] = "email must be valid" messages_success = "Your message was successfully submitted" messages_errors = "There were errors with your submission" mail_enabled = 1 mail_subject = "new contact message" mail_recipients[] = "[email protected]" mail_recipients[] = "[email protected]" mail_replyto = "email" mail_resp_enabled = 1 mail_resp_field = "email" mail_resp_from = "[email protected]" mail_resp_subject = "Thank you for contacting us!" reset_form = 1 inline_errors = "display" anonymize_ip = "disabled" recaptcha_theme = "light" recaptcha_type = "image" recaptcha_size = "normal"

  • author

    Replied on 12 Jul, 2017

    Hello Asma,

    Config looks fine, are October mails working?

  • Found the plugin not useful on 31 May, 2017

    I do not understand how to install this plugins, can the documentation be clarified again and please kindly help me.

  • Found the plugin useful on 29 May, 2017

    Greate plugin! Thank you for your work very much! Can I add some js on success answer? I have 2 forms on my page and I need to add different google analytics actions.

  • Found the plugin useful on 22 May, 2017

    Hi! Excellent plugin!! but I have some error occurs, it says:

    Form session expired! Please refresh the page.

    Can you please help me solve the problem?

  • author

    Replied on 22 May, 2017

    Hello Denis, usually, this problem occurs when this line is missing on the component HTML:

    {{ form_token() }}

  • Found the plugin useful on 15 May, 2017

    Love that plugin so easy to create forms!

    What is the best way to create multiple forms?

  • Found the plugin useful on 13 Apr, 2017

    im very thanksful there's plugin that's so useful like this plugins, btw i've asking the question about my problem to outputing the value from backend to the frontend, is that must using SQL query? or it become simple like {{ form.name }} ? i've try it to outputing the value but i dont have any idea how.

    im glad if there's anyone tell me how to do that.

  • author

    Replied on 14 Apr, 2017

    Please, check the updated documentation (feedback will be welcome)

  • Found the plugin useful on 7 Apr, 2017

    Great plugin, really useful and easy to use.

    Some lack with file upload, but the support is really good and I'm sure this part will be improved over time.

  • author

    Replied on 9 Apr, 2017

    Thanks for your words.

    Yes, file upload is still beta, there is a discussion on github about the future, maybe change to another component ...

  • Found the plugin not useful on 5 Apr, 2017

    This looks like it could be a handy plugin, but the documentation terrible. Provide some screenshots, etc. so that you don't have to rely on everyone being an OctoberCMS developer to make sense of what you are doing.

  • Found the plugin useful on 23 Mar, 2017

    I like this plugin.

    One question: can you provide me with pointers on how to extend this ? say I want to save user_id (of authenticated user, a new column already added to the table thru new plugin), how to do it?

    Thanks

  • Found the plugin useful on 7 Mar, 2017

    recaptcha did not display, My problem is regulated in this way

    <form data-request="{{ emptyForm }}::onFormSubmit">
            {{ form_token() }}
            <div id="{{ emptyForm }}_forms_flash"></div>
            <!-- YOUR FORM FIELDS -->
            {% partial 'recaptcha' __SELF__=emptyForm %}
            <!-- SUBMIT BUTTON -->
    </form>

  • Found the plugin useful on 7 Mar, 2017

    Hi, plugin is cool but i want ask. When i send form, data dont clear from fields. Its my mistake or plugin?

    THX

  • author

    Replied on 7 Mar, 2017

    Hello Petr

    There is an option to reset form, you can check here

  • Found the plugin useful on 6 Mar, 2017

    Great plugin! Easy to setup and customize!!

    Thank you very much

    Is it possible to have inline validation in the current version instead of a (possibly huge) alert-box?

  • author

    Replied on 6 Mar, 2017

    Hello Vianney:

    You can check the issue #21 and the branch inline-errors on github.

    We are testing for possible alternative to inline errors.

    Feel free to test for yourself (feedback is welcome).

    Thanks.-

  • Found the plugin useful on 4 Mar, 2017

    Like it very much so far. Used the file upload and the empty form. Both worked liked a charm so far. Thank you for all the work.

  • author

    Replied on 5 Mar, 2017

    Thanks for your words Ralf

  • Found the plugin useful on 6 Feb, 2017

    Very nice plugin, really useful, easy to use, user friendly, flexible, regularly updated... By far the best form plugin for October.

  • author

    Replied on 7 Feb, 2017

    Thanks for your comments.

    Happy to see my work helping other people.

  • Found the plugin useful on 17 Jan, 2017

    I really want to use this plugin, but it's hard for me to understand due to the "generic ajax form" being all blank with no information in it. Am I missing something?

  • author

    Replied on 18 Jan, 2017

    If you are using the empty ajax form component you need to:

    1. override the component HTML, more info here

    2. paste the provided template:

      <form data-request="emptyForm::onFormSubmit">
          {{ form_token() }}
          <div id="{{ __SELF__ }}_forms_flash"></div>
          <!-- YOUR FORM FIELDS -->
          {% partial '@recaptcha' %}
          <!-- SUBMIT BUTTON -->
      </form>
    3. Replace
      <!-- YOUR FORM FIELDS -->

      with the HTML of your form (inputs, selects, textareas) and

      <!-- SUBMIT BUTTON -->

      with a submit button

  • Found the plugin useful on 15 Jan, 2017

    Thanks for your job! Can it attach file to backend/mail?

  • author

    Replied on 15 Jan, 2017

    AJAX file upload it's "too complicated" (you can read more here.

    I think the best solution will be creating a new component who refresh the page (or redirect) to upload files.

    Definitely it's something i want to see on the plugin, but, honestly don't know when.

    Edit:
    This option was added on v1.3.0

  • Found the plugin useful on 13 Jan, 2017

    Hi, do not work plugin. I don't understand how to setup could put the video for easy installation?

  • Found the plugin useful on 12 Jan, 2017

    Excellent plugin!!

    This is by far the best form plugin that I have used for October. Easy to use and very flexible.

    Quick question: How can we create an auto-response email to the person submitting the form?

    Thanks for this plugin!

    A+++

  • author

    Replied on 12 Jan, 2017

    Thanks for the feedback!

    I will add this option to the plugin in the next version.

    Edit: this option was added on v1.2.1

  • Found the plugin useful on 9 Jan, 2017

    Great job on creating this very useful plugin!!!

1.4.10

improvements related to event functionality

Aug 13, 2018

1.4.9.2

bugfix when a form field array has more than 2 levels of depth

Jun 08, 2018

1.4.9.1

fix a nullable type error on PHP 7.0

May 26, 2018

1.4.9

fix on replaceToken function when replacement is null [thanks to leonaze]

May 24, 2018

1.4.8

added GDPR cleanup feature [thanks to Alex360hd]

May 12, 2018

1.4.7

you can use your form variables on notification mail subject [thanks to Alex360hd]

Apr 15, 2018

1.4.6.1

Changed database field from json to text to support MySQL 5.5

Nov 27, 2017

1.4.6

New option to skip saving forms data on database.

Nov 21, 2017

1.4.5.1

Store form data without escaping unicode [thanks to panakour]

Oct 14, 2017

1.4.5

Mail class code refactoring

Oct 06, 2017

1.4.4.1

Fix with notifications emails

Sep 10, 2017

1.4.4

Use custom partials for Success and Error messages

Sep 10, 2017

1.4.3

Fixes related to October Build 420

Aug 30, 2017

1.4.2

Escape HTML characters on the view records page [thanks to Andre]

Jul 30, 2017

1.4.1

New option "Reply To"

Jun 19, 2017

1.4.0

Added Events (please, refer to docs) [thanks to therealkevinard]

Jun 09, 2017

1.3.9

Use custom mail templates

May 24, 2017

1.3.8

Fixed handling arrays (radio inputs) in notification email

Apr 28, 2017

1.3.7

Displaying errors with fields (inline errors)

Apr 14, 2017

1.3.6

French translation

Mar 16, 2017

1.3.5

New option "Redirect on successful submit"

Mar 05, 2017

1.3.4

New "Anonymize IP" option

Feb 26, 2017

1.3.3

Fixed record detail page when form data contains an array

Feb 17, 2017

1.3.2

Fixed multiples reCAPTCHAs on same page

Feb 05, 2017

1.3.1

Added lang pt-br

Feb 04, 2017

1.3.0

AJAX file uploads

Feb 01, 2017

1.2.4

Added detailed reCAPTCHA help

Feb 01, 2017

1.2.3

New option to reset form after successfully submit

Jan 27, 2017

1.2.2

Override notifications and auto-response email subjects

Jan 15, 2017

1.2.1

Auto-response email on form submit

Jan 13, 2017

1.2.0

Export stored data in CSV format

Jan 12, 2017

1.1.2

Filter forms records

Jan 12, 2017

1.1.1

fix when using reCAPTCHA + allowed fields

Jan 07, 2017

1.1.0

Added reCAPTCHA

Jan 06, 2017

1.0.1

Added CSRF protection

Jan 05, 2017

1.0.0

First version of Magic Forms

Dec 31, 2016