Enforcing numeric input on a SalesLogix 7.5.1 quick form text control

SalesLogix has a couple of numeric based custom text controls including currency, and numeric.  One of the things you will find is that using these controls gives the user a slightly different experience based on the custom control chosen.  One of the big differences is that the currency control enforces numeric input once the user leaves the field where the numeric control has no such validation.

Typically you would control this type of client side behavior in JavaScript or jQuery.  Unfortunately SalesLogix does not allow direct access to specifying client side events on most controls at design-time.  There is a way of doing this however by adding attributes to the control when the page loads using the Control’s Attribute.Add method.

 

Now before I get to how to do that lets look at a sample of JavaScript that would restrict user input to only numeric values (and delete and backspace)

var key = window.event.keyCode;
if ( (key > 47 && key < 58) || key == 8 || key == 127)
   return; //It is valid so don’t do anything
else
   window.event.returnValue = null; //Don’t allow the input

Now how to add this so that the quick form binds our JavaScript to our control? As mentioned, using the Attribute.Add method.  Shown here is how you could do this using a C# Snippet Action Item “(Obsolete)” on a form Load event:

myTextBox.Attributes.Add("onkeypress",
"javascript: var key = window.event.keyCode; if ( (key > 47 && key < 58) || key == 8 || key == 127) return; else window.event.returnValue = null;");

The Attributes.Add is called for your user control.  The first parameter is to identify what attribute you are adding.  In our case we want to add code to the key press event.  The second attribute is the actual JavaScript code.  Add this to an OnLoad event for you page and you have numeric input validation.

ABOUT THE AUTHOR

Kris Halsrud

Kris Halsrud is a Senior Analyst / Developer for Customer FX Corporation.

1 Comment

  1. I guess my earlier comment didnt pass either. Chnage BLOCKED SCRIPT to “J a v a s c r i p t :” but remove the spaces

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) and Creatio (bpm'online) news and product updates!

You have Successfully Subscribed!