CINXE.COM

Motor Speed and Torque Controls | OEM Manufacturing

<!DOCTYPE html> <html lang="en-us" name="page-top" class="html-topic-page"> <head> <title>Motor Speed and Torque Controls | OEM Manufacturing</title> <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> <meta name="description" content="ACE offers a free consultation on unique motor control systems for OEM customers with no minimum volume. Private labeling. ISO 9001:2008 certified." /> <meta name="keywords" content="" /> <meta name="generator" content="nopCommerce" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <script> function getId() { }; </script> <script type="text/javascript" src="https://secure.lope4refl.com/js/154174.js" ></script> <noscript><img alt="" src="https://secure.lope4refl.com/154174.png" style="display:none;" /></noscript> <!-- Google code for Analytics tracking --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'G-Z0ZCT1RFRV', 'auto', {'siteSpeedSampleRate': 100}); ga('send', 'pageview'); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-Z0ZCT1RFRV"></script> <script> window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-Z0ZCT1RFRV'); </script> <link href="/Content/jquery-ui-themes/smoothness/jquery-ui-1.10.3.custom.min.css" rel="stylesheet" type="text/css" /> <link href="/Themes/all-motion/Content/off-can-menu.css" rel="stylesheet" type="text/css" /> <link href="/Themes/all-motion/Content/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="/Themes/all-motion/Content/application.css?v=2" rel="stylesheet" type="text/css" /> <link href="/Plugins/ForemostMedia.FmFormBuilder/css/application.css" rel="stylesheet" type="text/css" /> <script src="/Scripts/jquery-3.4.1.min.js" type="text/javascript"></script> <script src="/Scripts/jquery-migrate-3.1.0.js" type="text/javascript"></script> <script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script> <script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> <script src="/Scripts/jquery-ui-1.10.3.custom.min.js" type="text/javascript"></script> <script src="/Scripts/jquery-migrate-1.2.1.min.js" type="text/javascript"></script> <script src="/Scripts/public.common.js" type="text/javascript"></script> <script src="/Scripts/public.ajaxcart.js" type="text/javascript"></script> <script src="/Themes/all-motion/Scripts/vendor/slick.min.js" type="text/javascript"></script> <script src="/Themes/all-motion/Scripts/bootstrap.min.js" type="text/javascript"></script> <script src="/Themes/all-motion/Scripts/off-can-menu.js" type="text/javascript"></script> <script src="/Themes/all-motion/Scripts/application.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js" type="text/javascript"></script> <link rel="canonical" href="https://www.allmotion.com/custom-solutions" /> <link rel="shortcut icon" href="/themes/all-motion/images/favicon.ico" /> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MX86Q5P');</script> <!-- End Google Tag Manager --> <script> if(window.location.pathname == "/register") { $('head').append('<meta name="robots" content="noindex, nofollow">'); } </script> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript><iframe src='https://www.googletagmanager.com/ns.html?id=GTM-MX86Q5P' height='0' width='0' style='display:none;visibility:hidden'></iframe></noscript> <!-- End Google Tag Manager(noscript) --> <div class="ajax-loading-block-window" style="display: none"> </div> <div id="dialog-notifications-success" title="Notification" style="display:none;"> </div> <div id="dialog-notifications-error" title="Error" style="display:none;"> </div> <div id="dialog-notifications-warning" title="Warning" style="display:none;"> </div> <div id="bar-notification" class="bar-notification"> <span class="close" title="Close">&nbsp;</span> </div> <!--[if lte IE 7]> <div style="clear:both;height:59px;text-align:center;position:relative;"> <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx" target="_blank"> <img src="/Themes/all-motion/Content/images/ie_warning.jpg" height="42" width="820" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." /> </a> </div> <![endif]--> <div class="site-wrap"> <div class="header branded-header"> <div class="head-top"> <div class="container"> <div class="fm-flex fm-align-center"> <div class="head-logo"> <a href="/"> <img title="" alt="All Motion" src="https://www.allmotion.com/content/images/thumbs/0001778.png"> </a> </div> <div class="header-contact"> <a href="tel:+1-510-471-4000"><i class="fa fa-phone"></i><span class="header-phone-text">1-510-471-4000</span></a> </div> <div class="visible hidden-lg"> <div class="mobile-menu-placeholder"></div> </div> <div class="header-right"> <div class="search-wrap"> <div class="search-box store-search-box"> <form action="/search" id="small-search-box-form" method="get"> <input type="text" class="search-box-text" id="small-searchterms" autocomplete="off" name="q" placeholder="Search" /> <input checked="checked" id="sid" name="sid" value="true" hidden="true" type="checkbox"> <input checked="checked" id="adv" name="adv" value="true" hidden="true" type="checkbox"> <input checked="checked" id="isc" name="isc" value="true" hidden="true" type="checkbox"> <button type="submit" class="search-submit"> <i class="fa fa-search"></i></button> <script type="text/javascript"> $("#small-search-box-form").submit(function(event) { if ($("#small-searchterms").val() == "") { alert('Please enter some search keyword'); $("#small-searchterms").focus(); event.preventDefault(); } }); </script> <script type="text/javascript"> $(document).ready(function() { $('#small-searchterms').autocomplete({ delay: 500, minLength: 1, source: '/catalog/searchtermautocomplete', appendTo: '.search-box', select: function(event, ui) { $("#small-searchterms").val(ui.item.label); setLocation(ui.item.producturl); return false; } }) .data("ui-autocomplete")._renderItem = function(ul, item) { var t = item.label; //html encode t = htmlEncode(t); return $("<li></li>") .data("item.autocomplete", item) .append("<a><img src='" + item.productpictureurl + "'><span>" + t + "</span></a>") .appendTo(ul); }; }); </script> </form> </div> </div> <div class="head-links-wrapper"> <ul class="vert-separated"> <li class="header-cart"> <a href="/cart"> <i class="fa fa-shopping-cart"></i> <span class="cart-label">Shopping Cart</span> <span class="cart-qty">(0)</span> </a> <div id="flyout-cart" class="flyout-cart"> <div class="mini-shopping-cart"> <div class="count"> You have no items in your shopping cart. </div> </div> </div> </li> <li><a href="/login"><i class="fa fa-sign-in"></i>Log in</a></li> </ul> <script type="text/javascript"> $(document).ready(function () { $('.header-links-wrapper').on('mouseenter', '.header-cart', function () { $('.header-cart').addClass('active'); }); $('.header-links-wrapper').on('mouseleave', '.header-cart', function () { $('.header-cart').removeClass('active'); }); $('.header-links-wrapper').on('mouseenter', '.flyout-cart', function () { $('.header-cart').addClass('active'); }); $('.header-links-wrapper').on('mouseleave', '.flyout-cart', function () { $('.header-cart').removeClass('active'); }); }); </script> </div> </div> </div> </div> </div> <div class="head-bot"> <div class="container"> <div class="main-menu"> <ul class="top-level"> <li> <a class="disabled"><span>Products</span></a> <ul class="drop-down"> <li> <a href="/servo-controller-and-servo-drive"> <span>Servo Motor Controllers &amp; Drives</span> </a> </li> <li> <a href="/servo-motor-kit"> <span>Servo Motor Control Starter Kits</span> </a> </li> <li> <a href="/stepper-motor-controller"> <span>Stepper Motor Controller &amp; Drives</span> </a> </li> <li> <a href="/stepper-motor-kit"> <span>Stepper Motor Control Starter Kits</span> </a> </li> <li> <a href="/io-controls"> <span>I/O Controls</span> </a> </li> <li> <a href="/io-control-starter-kits"> <span>I/O Control Starter Kits</span> </a> </li> <li> <a href="/accessories-amo"> <span>Accessories</span> </a> </li> <li> <a href="/legacy-amo"> <span>Legacy</span> </a> </li> </ul> </li> <li> <a class="disabled"><span>Brands</span></a> <ul class="drop-down"> <li><a href="https://www.allmotion.com/"><span>AllMotion</span></a></li> <li><a href="https://www.americancontrolelectronics.com/" target="_blank"><span>American Control Electronics & Minarik Drives</span></a></li> <li><a href="https://www.gotinterface.com/" target="_blank"><span>GOT Interface</span></a></li> <li><a href="https://www.klaubergear.com/" target="_blank"><span>Klauber Machine & Gear</span></a></li> </ul> </li> <li> <a class="disabled"><span>Solutions</span></a> <ul class="drop-down"> <li><a href="/custom-solutions"><span>Capabilities</span></a></li> <li><a href="/success-stories"><span>Application Success Stories</span></a></li> </ul> </li> <li> <a class="disabled"><span>Resources</span></a> <ul class="drop-down"> <li><a href="/downloads-amo"><span>Downloads</span></a></li> <li><a href="/software-amo"><span>Software</span></a></li> <li><a href="/links-amo"><span>Links</span></a></li> <li><a href="/videos-amo"><span>Videos</span></a></li> </ul> </li> <li> <a class="disabled"><span>Support</span></a> <ul class="drop-down"> <li><a href="/contact-us-amo"><span>Contact Us</span></a></li> <li><a href="/representatives-amo"><span>Representatives</span></a></li> </ul> </li> <li> <a class="disabled"><span>About</span></a> <ul class="drop-down flip-dropdown"> <li><a href="https://www.gptg.com" target="_blank"><span>Global Point Technologies Group</span></a></li> <li><a href="/careers"><span>Careers</span></a></li> <li><a href="/policies"><span>Policies</span></a></li> </ul> </li> <li class="hidden-lg visible-inline-block"><a href="/cart"><span>Shopping Cart</span></a></li> <li class="hidden-lg visible-inline-block"><a href="/login"><span>Log in</span></a></li> </ul> </div> </div> </div> </div> <script type="text/javascript"> AjaxCart.init(false, '.header-links .cart-qty', '.header-links .wishlist-qty', '#flyout-cart'); </script> <div class="page-content"> <div class="container"> <div class="row"> <div class="col-xs-12"> <div class="breadcrumb"> <ul itemscope itemtype="http://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a href="/" itemprop="item"><span itemprop="name">Home</span></a> <span class="delimiter">:</span> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <span itemprop="item"><span itemprop="name">Motor Control Custom Solutions</span></span> <meta itemprop="position" content="2" /> </li> </ul> </div> </div> </div> <div class="row content-row"> <div class="col-xs-12"> <div class="page topic-page" id="ph-topic"> <div class="page-body"> <h1>We put the “Custom” in Customer Service</h1> <p>American Control Electronics (ACE), along with our <a href="https://www.minarikdrives.com/">Minarik Drives brand</a>, have built an extensive and successful history of designing and producing durable, industrial grade motor speed/torque controls. You may be familiar with our standard catalog products, but did you know our custom control capabilities have helped many of our OEM customers differentiate their products, simplify their design, and increase profitability! If you have a need for a unique control solution, don’t settle for something sitting on a distributor’s shelf, contact American Control Electronics for a free consultation!<br /><br /><br /></p> <div class="row flex-row bot-align-img"> <div class="col-xs-12 col-md-4"> <h2>Microprocessor-based Designs</h2> <p>The technological “barriers” between the capabilities of motor controls, PLCs, and positioning systems are disappearing. By incorporating microprocessors into our controls, our customers can simplify their machine control systems as well.<br /><br /><br /></p> <h2>PLC Displacement</h2> <p>For many of our customers, the use of “sophisticated” control solutions required PLCs or servos with motion controllers. Those are now commonly being eliminated by American Control Electronics’ expanding line of programmable controls. Whether it’s firmware and/or hardware adaptations, we will help you reduce panel space, installation costs, and BOM complexity.<br /><br /></p> <h2><br />User-Specified Inputs &amp; Outputs</h2> <p>By utilizing microprocessor-based designs, ACE can change or eliminate trim pots, modify DIP switch configurations, and adjust input types or parameters. These “mission specific” controls allow customers to purchase and use only the functionality they need and want. This can reduce installation time, cabinet space, and the chances of improper settings in the field.</p> <img class="center-block" src="/Content/Images/uploaded/ace-controls.jpg" alt="" /><br /><br /></div> <div class="col-xs-12 col-md-4"> <h2>No Minimum Volumes</h2> <p>Unlike many manufacturers, we don’t require large volumes for customization. Our refined engineering and production team allows us to satisfy the needs of small to mid-size machine builders, as well as large OEMs.<br /><br /><br /></p> <h2>UL61800-5-1 Approvals</h2> <p>Our climate controlled 35,000-square foot manufacturing facility is ISO 9001:2008 certified and has received unconditional lab and factory approval by UL/CUL. As an early adopter of the new UL61800-5-1 standard, ACE has already released several new products carrying the new mark.<br /><br /><br /></p> <br /><br /><br /></div> <div class="col-xs-12 col-md-4"> <h2>Private Labeling</h2> <p>Chances are you’ve seen an American Control Electronics product in the field and didn’t know it. We private label our products under various brand names, including many for internationally known motor manufacturers, OEMs, and distributors. If you’re interested in having brand loyalty and custom tailoring of your controls, then a private label may be the solution for you.<br /><br /></p> <h2>Custom Panel Assemblies</h2> <p>ACE doesn’t just help its customers become market leaders through design and electronics alone. Many of our OEMs have discovered the benefits of allowing American Control Electronics, a UL508A certified factory, to assemble our controls with other components into their panels. Rather than plan assembly time and panel design, plan on ordering a single part number that is ready for your application!<br /><br /></p> <p></p> <h2>Integrated Motor Controls</h2> <p>No room for a control panel? Is space a concern for your application? By partnering with a variety of motor manufacturers, ACE can create unique motor controls that contain feedback, I/O, and communications in a single compact, integrated assembly. This often leads to easier ordering, faster installation, and space savings.</p> <img class="center-block" src="/Content/Images/uploaded/ace-controls3.jpg" alt="" /></div> </div> </div> </div> </div> </div> </div> </div> <footer class="footer"> <div class="top-footer"> <div class="container"> <div class="top-footer-row"> <div class="top-footer-left"> <div class="top-footer-logo"> <img src="/content/images/uploaded/amo-white logo.png" loading="lazy" alt="All Motion Site Logo" /> </div> <div class="top-footer-address"> <p><a href="https://maps.app.goo.gl/t5nMR21BH3xPUTBAA" target="_blank"> 5673 W. Las Positas Blvd<br /> Suite 206<br />Pleasanton, CA  94588</a><br /><a href="tel:+1-510-471-4000">(510) 471-4000</a></p> <div id="gtx-trans" style="position: absolute; left: -25px; top: 60px;"> <div class="gtx-trans-icon"></div> </div> </div> </div> <div class="top-footer-mid"> <div class="footer-categories-box"> <div class="footer-categories-header">Product Category</div> <ul class="footer-cats"><li><a title="Stepper Motor Controls" href="/stepper-motor-controller">Stepper Motor Controller</a></li><li><a title="Servo Motor Controls" href="/servo-controller-and-servo-drive">Servo Controller and Servo Drive</a></li><li><a title="I/O Controls" href="/io-controls">IO Controls</a></li><li><a title="Accessories" href="/accessories-amo">Accessories</a></li><li><a title="Stepper Control Starter Kits" href="/stepper-motor-control-kit">Stepper Motor Kit</a></li><li><a title="Servo Control Starter Kits" href="/servo-motor-kit">Servo Motor Kit</a></li><li><a title="I/O Control Starter Kits" href="/io-control-starter-kits">I/O Control Starter Kits</a></li></ul> </div> </div> <div class="top-footer-right"> <div class="footer-topics"> <ul> <li><a href="/contact-us-amo">Contact Us</a></li> <li><a href="/careers">Careers</a></li> <li><a href="/policies">Policies</a></li> </ul> </div> </div> </div> </div> </div> <div class="bot-footer"> <div class="container"> <div class="corporate-connections"> <div class="fm-flex"> <div class="corporate-box corporate-left"> <a href="https://www.gptg.com" target="_blank"> <img loading="lazy" src="/content/images/uploaded/gptg-white logo.png" alt="GPTG Electronics Division Logo" /> <span>www.gptg.com</span> </a> </div> <div class="corporate-right"> <div class="corporate-header">GPTG Brands</div> <div class="fm-flex justify-content-between"> <a href="https://www.allmotion.com/" target="_blank" class="corporate-connect"> <img loading="lazy" src="/content/images/uploaded/amo-white logo.png" alt="All Motion Logo" /> <span class="corporate-text">All Motion</span> </a> <a href="https://www.americancontrolelectronics.com/" target="_blank" class="corporate-connect"> <img loading="lazy" src="/content/images/uploaded/ace-white logo.png" alt="American Control Electronics Logo" /> <span class="corporate-text">American<br />Control<br />Electronics</span> </a> <a href="https://www.gotinterface.com/" target="_blank" class="corporate-connect"> <img loading="lazy" src="/content/images/uploaded/got-white logo.png" alt="GOT Interface Logo" /> <span class="corporate-text">GOT Interface</span> </a> <a href="https://www.minarikdrives.com/" target="_blank" class="corporate-connect"> <img loading="lazy" src="/content/images/uploaded/md-white logo.png" alt="Minarik Drives Logo" /> <span class="corporate-text">Minarik<br />Drives</span> </a> <a href="https://www.klaubergear.com/" class="corporate-connect"> <img loading="lazy" src="/content/images/uploaded/kmg-white logo.png" alt="Klauber Machine & Gear Logo" /> <span class="corporate-text">Klauber<br />Machine<br />& Gear</span> </a> </div> </div> </div> </div> <div class="legalese"> <div class="row"> <div class="col-xs-12 col-md-7 footer-bot-left"> <span class="footer-disclaimer">&copy; Copyright 2024 All Motion. All Rights Reserved.</span> <a><span>Terms Of Use</span></a>: <a><span>Privacy Statement</span></a>: <a><span>Transparency In Coverage</span></a> </div> <div class="col-xs-12 col-md-5 footer-bot-right"> <a href="https://www.foremostmedia.com" target="_blank">Designed by Foremost Media</a><text>:</text> <a href="/login">Log in</a> </div> </div> </div> </div> </div> </footer> </div> <script type="text/javascript"> $(document).ready(function () { $('#eu-cookie-bar-notification').show(); $('#eu-cookie-ok').click(function () { $.ajax({ cache: false, type: 'POST', url: '/eucookielawaccept', dataType: 'json', success: function (data) { $('#eu-cookie-bar-notification').hide(); }, failure: function () { alert('Cannot store value'); } }); }); }); </script> <div id="eu-cookie-bar-notification" class="eu-cookie-bar-notification"> <div class="content"> <div class="text">Cookies help us deliver our services. By using our services, you agree to our use of cookies.</div> <div class="buttons-more"> <button type="button" class="ok-button button-1" id="eu-cookie-ok">OK</button> <a class="learn-more" href="/privacy-notice">Learn more</a> </div> </div> </div> <!-- FmFormBuilder Widget --> <script type="text/html" id="fmFormBuilderTemplate"> <div class="fm-bootstrap fmFormBuilderDiv"> <div class="fmFormMessage" tabindex="-1" data-bind="visible: ShowMessageTop "> <div class="fm-success-alert col-sm-12 alert alert-success alert-dismissable fade in" data-bind="visible: FormSubmittedSuccess"> <button type="button" class="close" aria-label="Close" data-dismiss="alert"><span aria-hidden="true">x</span></button> <span data-bind="text:FormSubmittedMessage"></span> </div> <div class="fm-error-alert col-sm-12 alert alert-danger" data-bind="visible: !FormSubmittedSuccess()"> <button type="button" class="close" aria-label="Close" data-dismiss="alert"><span aria-hidden="true">x</span></button> <span data-bind="text: FormErrorMessage"></span> </div> </div> <div style="display: none;" data-bind="visible: true" class="row"> <div data-bind="attr: { id: FormID }, css: FormCSS"> <!-- ko if: RenderGroupsAsTabs --> <ul class="nav nav-tabs" role="tablist" data-bind="foreach: FieldGroups, visible: ShowTabsNavigation"> <li role="presentation" data-bind="css: { active: IsActive }"> <a href="#" role="presentation" data-toggle="tab" data-bind="click: $parent.ChangeTab, text: Title, attr: { 'data-tabIndex': $index }"></a> </li> </ul> <!--/ko--> <div data-bind="foreach: FieldGroups, css: RenderGroupsAsTabs ? 'tab-content' : ''"> <div data-bind="foreach: Fields, attr: { id: PanelId, 'class': PanelClasses }, css: { active: IsActive }"> <!--ko if: $index() == 0 --> <div class="col-sm-12" data-bind="visible: $parent.ShowTitle"> <h4 class="fm-field-group-title" data-bind="text: $parent.Title"></h4> </div> <!--/ko--> <div class="form-group" data-bind="css: WrapperCSS, visible: VisibleCondition"> <!--ko if: IsFormElement --> <!--ko if: !HideLabel --> <label data-bind="html: Label, attr: { for: Name }"></label> <!--/ko--> <!--/ko--> <!--ko if: IsDatePickerElement --> <!-- ko if: ShowDatePickerIcon --> <div class="input-group date" data-bind="dateTimePicker: InputValue, datetimepickeroptions: DateTimePickerOptions, enable: Enabled"> <input type="text" data-bind="css: FieldCSS, fmFormBuilderAttr" /> <span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div> <!--/ko--> <!--ko if: !ShowDatePickerIcon --> <input type="text" data-bind="css: FieldCSS, fmFormBuilderAttr, dateTimePicker: InputValue, datetimepickeroptions: DateTimePickerOptions, enable: Enabled" /> <!--/ko--> <!--/ko--> <!--ko if: IsSelectElement --> <select data-bind="fmFormBuilderAttr, css: FieldCSS, options: Options, optionsText: 'text', optionsValue: $parents[1].fmSetupOptions, optionsCaption: OptionsCaption, enable: Enabled, value: InputValue, attr:{'data-fmOverride': OverrideModuleSetting ? OverrideModuleValue : null}, optionsAfterRender: OverrideModuleSetting ? addOverrideValues : null"></select> <!--/ko--> <!--ko if: IsFileElement --> <div data-bind="fileDrag: InputValue"> <span data-bind="validationMessage: InputValue" class="ko-validation-message"></span> <input type="file" data-bind="fileInput: InputValue, customFileInput: {buttonClass: 'btn btn-success',fileNameClass: 'disabled form-control',onClear: onClear}"> </div> <!--/ko--> <!--ko if: ElementHasOptions --> <div data-bind="foreach: Options, css: FieldCSS"> <!--ko if: $parent.Layout !== "inline" --> <div data-bind="css: $parent.Type + $parent.OptionsColumnsClass"> <label data-bind="validationOptions: {insertMessages: false}"> <input data-bind="fmFormBuilderAttr, checkedValue: $parents[2].fmSetValue($data), checked: $parent.IsRadioElement ? $parent.SelectedItem : $parent.SelectedItems" /> <span data-bind="html: $data.text"></span> </label> </div> <!--/ko--> <!--ko if: $parent.Layout === "inline" --> <label data-bind="css: $parent.Type + '-inline', validationOptions: {insertMessages: false}"> <input data-bind="fmFormBuilderAttr, checkedValue: $parents[2].fmSetValue($data), checked: $parent.IsRadioElement ? $parent.SelectedItem : $parent.SelectedItems" /> <span data-bind="text: $data.text"></span> </label> <!--/ko--> </div> <p data-bind="visible: SelectedItems.length > 0, validationMessage: SelectedItems"></p> <!--/ko--> <!--ko if: IsTextElement --> <input data-bind="css: FieldCSS,fmFormBuilderAttr, value: InputValue, enable: Enabled" /> <!--/ko--> <!--ko if: IsTextAreaElement --> <textarea data-bind="css: FieldCSS, fmFormBuilderAttr, value: InputValue, enable: Enabled"></textarea> <!--/ko--> <!-- ko if: IsRecaptchaElement($parents[1]) --> <div data-bind="attr: { 'data-sitekey': '6LfGHjIUAAAAAOdFWoczO0xfhBr3MflYgiP97yY_' }"> <div class="g-recaptcha FMrecaptcha"></div> </div> <!--/ko--> <!--ko if: IsSubmitBtn --> <input class="btn btn-success" data-bind="click: $parents[1].fmSerializeFormObject, css: FieldCSS, attr: { id: Name, type: Type, value: InputValue }" /> <!--/ko--> <!--ko if: IsBtn --> <button class="btn btn-default" data-bind="css: FieldCSS, attr: { id: Name }, enable: Enabled"><span data-bind="text: InputValue"></span></button> <!--/ko--> <!--ko if: Element === "htmlblock" --> <div data-bind="css: FieldCSS, html: Html"></div> <!--/ko--> </div> </div> </div> <div class="form-nav-buttons" data-bind="visible: ShowPrevNextButtons"> <a id="btnPrevious" data-bind="click: MovePrev, visible: ShowPrev, css: PreviousButtonClasses">Previous</a> <a id="btnNext" data-bind="click: MoveNext, visible: ShowNext, css: NextButtonClasses">Next</a> </div> </div> <div class="fm-loading-div" style="display: none;"></div> </div> <div class="fmFormMessage" data-bind="visible: ShowMessageBottom "> <div class="fm-success-alert col-sm-12 alert alert-success alert-dismissable fade in" data-bind="visible: FormSubmittedSuccess"> <button type="button" class="close" aria-label="Close" data-dismiss="alert"><span aria-hidden="true">x</span></button> <span data-bind="text:FormSubmittedMessage"></span> </div> <div class="fm-error-alert col-sm-12 alert alert-danger" data-bind="visible: !FormSubmittedSuccess()"> <button type="button" class="close" aria-label="Close" data-dismiss="alert"><span aria-hidden="true">x</span></button> <span data-bind="text: FormErrorMessage"></span> </div> </div> <div class="fm-alert-wrap alert-wrap-bottom"></div> </div> </script> <script type="text/html" id="fmFormBuilderWarningTemplate"> </script> <script type="text/javascript"> var fmFormBuilderInit = { formsLoaded: false, queryStrings: [], apiEndpoint: "/Admin/Plugin/ForemostMedia/FmFormBuilder/Api/Submit", useRecaptcha: true, trackGoogleUrlCodes: false, recaptchaSiteKey: "6LfGHjIUAAAAAOdFWoczO0xfhBr3MflYgiP97yY_", formsOnPage: "unknown", myForms: [], renderForms: function (callback) { var listOfDivs = $('div[data-fmFormBuilder]'); //our server cache value may need to be updated if inconsistent var updateCache = (listOfDivs.length === 0 && fmFormBuilderInit.formsOnPage !== "no") || (listOfDivs.length > 0 && fmFormBuilderInit.formsOnPage !== "yes"); if (updateCache) { var updateValue = listOfDivs.length === 0 ? "no" : "yes"; $.ajax({ type: "POST", url: '/UpdateCache', data: {value: updateValue} }).done(function (result) { //console.log("Cache updated"); }).error(function (xhr, ajaxOptions, thrownError) { console.log("Error updating cache data: " + xhr.status + " " + thrownError); }); } if (listOfDivs.length == 0) { return; } if ((listOfDivs.length > 0 && fmFormBuilderInit.formsOnPage === "no")) { //then we didn't load our cdn values, reload the page - server cache is updated and will return correct values now window.location.reload(); return; } var additionalMessage = []; if (!window.jQuery) additionalMessage.push("jQuery"); if (!window.ko) additionalMessage.push("Knockout"); if (additionalMessage.length > 0) { alert("Form Builder is missing required references: " + additionalMessage.join(", ")); return; } jQuery(document).ready(function () { var formIds = []; jQuery.each(listOfDivs, function (index, value) { var parsed = parseInt($(value).attr("data-fmFormBuilder"), 10); if (typeof parsed !== 'undefined' && !isNaN(parsed)) { formIds.push(parsed); } }); //controller call to get information relative to containers found $.ajax({ type: "POST", url: '/FormInfo', data: { formIds: formIds }, dataType: "json" }).done(function (result) { if (result != null && typeof result !== 'undefined') { //shared settings/initializers setupKoBindingHandlers(); setupKoValidation(); var sessionCache = {}; if (typeof (Storage) !== "undefined") { var info = sessionStorage.getItem("fmFormUserInfo"); if (info !== null && typeof info !== "undefined") sessionCache = JSON.parse(info); } for (var r = 0; r < result.length; r++) { var divContainer = listOfDivs.filter("[data-fmFormBuilder=" + result[r].Id.toString() + "]"); if (divContainer.length == 0) continue; var jsonFormData = JSON.parse(result[r].Json); //console.log(result[r].Json); if (typeof jsonFormData === 'undefined') continue; var formData = { json: jsonFormData, queryStrings: fmFormBuilderInit.queryStrings, apiEndpoint: fmFormBuilderInit.apiEndpoint, useRecaptcha: fmFormBuilderInit.useRecaptcha, trackGoogleUrlCodes: fmFormBuilderInit.trackGoogleUrlCodes, recaptchaSiteKey: fmFormBuilderInit.recaptchaSiteKey, useSalesForce: result[r].SubmitToSalesForce, useActOn: result[r].SubmitToActon, usePardot: result[r].SubmitToPardot, recaptchaInvisible: result[r].RecaptchaInvisible, recaptchaBadgePosition: result[r].RecaptchaBadgePosition, sessionInfo: sessionCache }; fmFormBuilderInit.myForms.push(new FormModel(formData, $(divContainer))); $(divContainer).append("<div data-bind=\"template: { name: 'fmFormBuilderTemplate', data: function(){return fmFormBuilderInit.myForms[" + r + "];} }\"></div>"); fmFormBuilderInit.myForms[r].init(divContainer.get(0)); } //render recaptcha and input masks callback(listOfDivs, fmFormBuilderInit.myForms, fmFormBuilderInit.useRecaptcha); } else { console.log("Object is null or undefined"); } }).error(function (xhr, ajaxOptions, thrownError) { console.log("Error getting form data: " + xhr.status + " " + thrownError); }); }); }, renderFormsCallBack : function(formElements, forms, useRecaptcha) { fmSetupFieldMasks(formElements.find('input.masked-input')); for (var i = 0; i < forms.length; i++) { var theForm = forms[i]; if (useRecaptcha) { theForm.recaptchaLoad(); } } } }; var recaptchaCallBack = function () { // we're always going to expect that recaptcha callback will be hit, so render our form now (instead of onload) fmFormBuilderInit.renderForms(fmFormBuilderInit.renderFormsCallBack); }; </script> <!-- Need to explicitly include here for callback to fire correctly... --> <!-- So if using recaptcha, then fire form rendering on callback from recaptcha api, otherwise don't load script --> <script type="text/javascript" src="//www.google.com/recaptcha/api.js?onload=recaptchaCallBack&amp;render=explicit&amp;hl=en-US"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout-validation/2.0.3/knockout.validation.min.js" type="text/javascript"></script> <script src="/Plugins/ForemostMedia.FmFormBuilder/Scripts/application.js" type="text/javascript"></script> <script type="text/javascript"> var dpwdrsid = ""; var dpwdrs_BaseURL = (("https:" == document.location.protocol) ? "https://data.processwebsitedata.com/rsv1/" : "http://data.processwebsitedata.com/rsv1/"); (function () { var va = document.createElement('script'); va.type = 'text/javascript'; va.async = true; va.src = dpwdrs_BaseURL + 'Scripts/rsvliveasync.js'; var sv = document.getElementsByTagName('script')[0]; sv.parentNode.insertBefore(va, sv); })(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10