Disabled form submit button for large file uploads

Permalink Browser Info Environment
A client used this plugin to create a form with multiple file uploads fields (upload video size 100M) and the first one is required. They identified a bug where if a user uploads a large file and the progress bar then displays100%, but when the user attempts to submit, the form will fail validation and highlighting the required file input.

Through some troubleshooting, i identified that in the package file.
/packages/formify/blocks/formify_form/view.php

In the file upload javascript, the upload of the file sometimes wasn't done when the user attempts to submit the form. I added a disabled property to the submit button and in the .fileupload done: area checking making sure the "data.result.status" is a success before enabling the submit button.(see attached)

This is tempory and hacks solution at the moment, but the client is requesting additional changing because of users confusing with the 100%upload progress and still disabled submit button.

Are there any plans implement any type of check for large file uploads or handle this user case in an update?

1 Attachment

Type: Discussion
Status: In Progress
ohTrivera
View Replies:
jgarcia replied on at Permalink Reply
jgarcia
Should be fixed in version 3.1 (just posted).
ohTrivera replied on at Permalink Reply
ohTrivera
Thanks,

I tested the update and it works.

concrete5 Environment Information

# concrete5 Version
Core Version - 8.3.1
Version Installed - 8.3.1
Database Version - 20171218000000

# concrete5 Packages
ExchangeCore reCAPTCHA (1.1.1), Formify (3.0), HonestWebsites Store location (1.3.8), List files from set (1.0.13), Page Activity (0.9.3), Video Lightbox (1.8.9), Vivid Simple Accordion (1.0.1), Whale Responsive Tables (1.1.0)

# concrete5 Overrides
blocks/next_previous/templates/mg_next_prev/view.php, blocks/next_previous/templates/mg_next_prev, blocks/next_previous/templates, blocks/next_previous, blocks/page_list/templates/thumbnail_grid/view.php, blocks/page_list/templates/thumbnail_grid/view.css, blocks/page_list/templates/thumbnail_grid, blocks/page_list/templates/mg_blog/view.php, blocks/page_list/templates/mg_blog/view.css, blocks/page_list/templates/mg_blog, blocks/page_list/templates, blocks/page_list, blocks/image_slider/templates/mg_home/view.php, blocks/image_slider/templates/mg_home/view.css, blocks/image_slider/templates/mg_home, blocks/image_slider/templates, blocks/image_slider, blocks/video_lightbox/css/view.css, blocks/video_lightbox/css, blocks/video_lightbox, blocks/hw_store_location/view.php, blocks/hw_store_location, blocks/formify/form/view.php, blocks/formify/form, blocks/formify, blocks/add_store/form.js, blocks/add_store/db.xml, blocks/add_store/view.php, blocks/add_store/add.php, blocks/add_store/controller.php, blocks/add_store/edit.php, blocks/add_store, blocks/autonav/templates/main_nav/view.php, blocks/autonav/templates/main_nav, blocks/autonav/templates, blocks/autonav, controllers/single_page/retailers/orderpop/products/detail.php, controllers/single_page/retailers/orderpop/products, controllers/single_page/retailers/orderpop/stores/manage.php, controllers/single_page/retailers/orderpop/stores, controllers/single_page/retailers/orderpop/cart.php, controllers/single_page/retailers/orderpop/orders.php, controllers/single_page/retailers/orderpop/orders/detail.php, controllers/single_page/retailers/orderpop/orders/edit.php, controllers/single_page/retailers/orderpop/orders, controllers/single_page/retailers/orderpop/stores.php, controllers/single_page/retailers/orderpop/purchase.php, controllers/single_page/retailers/orderpop/products.php, controllers/single_page/retailers/orderpop, controllers/single_page/retailers/orderpop.php, controllers/single_page/retailers, controllers/single_page/login.php, controllers/single_page/dashboard/poporder/products/form.php, controllers/single_page/dashboard/poporder/products, controllers/single_page/dashboard/poporder/stores/approvestore.php, controllers/single_page/dashboard/poporder/stores/edit.php, controllers/single_page/dashboard/poporder/stores, controllers/single_page/dashboard/poporder/orders.php, controllers/single_page/dashboard/poporder/orders/detail.php, controllers/single_page/dashboard/poporder/orders/add.php, controllers/single_page/dashboard/poporder/orders/edit.php, controllers/single_page/dashboard/poporder/orders, controllers/single_page/dashboard/poporder/stores.php, controllers/single_page/dashboard/poporder/products.php, controllers/single_page/dashboard/poporder, controllers/single_page/dashboard/reports/logs.php, controllers/single_page/dashboard/reports, controllers/single_page/dashboard, controllers/single_page/register.php, controllers/single_page, authentication/concrete/form.php, authentication/concrete/email_validated.php, authentication/concrete, jobs/send_to_fulfillment_api.php, jobs/geotag_stores_before_import.php, jobs/clear_empty_workflow_progress.php, single_pages/distributor/orderpop.php, single_pages/distributor, single_pages/retailers/orderpop/purchase/view.php, single_pages/retailers/orderpop/purchase, single_pages/retailers/orderpop/products/detail.php, single_pages/retailers/orderpop/products/view.php, single_pages/retailers/orderpop/products, single_pages/retailers/orderpop/stores/view.php, single_pages/retailers/orderpop/stores/manage.php, single_pages/retailers/orderpop/stores, single_pages/retailers/orderpop/orders/detail.php, single_pages/retailers/orderpop/orders/view.php, single_pages/retailers/orderpop/orders, single_pages/retailers/orderpop/view.php, single_pages/retailers/orderpop/cart/view.php, single_pages/retailers/orderpop/cart, single_pages/retailers/orderpop, single_pages/retailers, single_pages/login.php, single_pages/dashboard/hw_store_locations/approvestore.php, single_pages/dashboard/hw_store_locations/addstore.php, single_pages/dashboard/hw_store_locations, single_pages/dashboard/hw_store_locations.php, single_pages/dashboard/poporder/products/form.php, single_pages/dashboard/poporder/products/view.php, single_pages/dashboard/poporder/products, single_pages/dashboard/poporder/stores/approvestore.php, single_pages/dashboard/poporder/stores/view.php, single_pages/dashboard/poporder/stores/view.css, single_pages/dashboard/poporder/stores/edit.php, single_pages/dashboard/poporder/stores, single_pages/dashboard/poporder/orders/detail.php, single_pages/dashboard/poporder/orders/view.php, single_pages/dashboard/poporder/orders/add.php, single_pages/dashboard/poporder/orders/edit.php, single_pages/dashboard/poporder/orders, single_pages/dashboard/poporder, single_pages/dashboard/reports/linkchecker.php, single_pages/dashboard/reports/logs.php, single_pages/dashboard/reports, single_pages/dashboard, single_pages/register.php, themes/milorganite/page_forbidden.php, themes/milorganite/page_not_found.php, themes/milorganite/landing_retail.php, themes/milorganite/videos.php, themes/milorganite/landing.php, themes/milorganite/js/bootstrap.min.js, themes/milorganite/js/jquery.matchHeight-min.js, themes/milorganite/js/flaunt.js, themes/milorganite/js, themes/milorganite/main_content.php, themes/milorganite/content_text_retail.php, themes/milorganite/content_text_pro.php, themes/milorganite/elements/header_retailer.php, themes/milorganite/elements/header_top.php, themes/milorganite/elements/footer_bottom.php, themes/milorganite/elements/header.php, themes/milorganite/elements/orderpop_header.php, themes/milorganite/elements/footer.php, themes/milorganite/elements/header_pro.php, themes/milorganite/elements, themes/milorganite/blank.php, themes/milorganite/description.txt, themes/milorganite/left_sidebar.php, themes/milorganite/home_pro.php, themes/milorganite/thumbnail.png, themes/milorganite/home.php, themes/milorganite/main_content_pro.php, themes/milorganite/home_retailer.php, themes/milorganite/landing_pro.php, themes/milorganite/view.php, themes/milorganite/default.php, themes/milorganite/search_results.php, themes/milorganite/page_theme.php, themes/milorganite/contact.php, themes/milorganite/content_text.php, themes/milorganite/main_content_retail.php, themes/milorganite/blog.php, themes/milorganite/images/cork-lt.png, themes/milorganite/images/hamburger.svg, themes/milorganite/images/MilorganiteLogo.png, themes/milorganite/images/cork-bkg.png, themes/milorganite/images/arrow.svg, themes/milorganite/images, themes/milorganite/css/overrides.css, themes/milorganite/css/default.css, themes/milorganite/css/bootstrap-modified.css, themes/milorganite/css/flaunt.css, themes/milorganite/css, themes/milorganite/full.php, themes/milorganite

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - On - If blocks on the particular page allow it.
Full Page Cache Lifetime - Every 4600 minutes.

# Server Software
Apache

# Server API
fpm-fcgi

# PHP Version
5.6.34

# PHP Extensions
bcmath, calendar, cgi-fcgi, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, ionCube Loader, json, libxml, mbstring, mcrypt, mhash, mysql, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, Phar, posix, Reflection, session, SimpleXML, sockets, SPL, sqlite3, standard, tokenizer, wddx, xml, xmlreader, xmlwriter, xsl, Zend Guard Loader, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 300
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 300
max_input_vars - 1000
memory_limit - 1024M
post_max_size - 100M
sql.safe_mode - Off
upload_max_filesize - 100M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
opcache.max_accelerated_files - 2000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5
zend_optimizerplus.max_accelerated_files - 2000
zend_optimizerplus.max_file_size - 0
zend_optimizerplus.max_wasted_percentage - 5

Browser User-Agent String

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You have not specified a license for this support ticket. You must have a valid license assigned to a support ticket to request a refund.