There are times when you need to prompt the user for input in Infor CRM, to ask them some question and have them provide some answer. Often times, I’ve seen a QuickForm used for this, but that is less than ideal. There is a built-in, client-side dialog you can use for this in Infor CRM. Sure, you could use Javascript’s prompt function, but let’s face it, that’s just ugly. Infor’s built-in input is more flexible and also maintains the standard look & feel of Infor CRM screens. Let’s take a look how to use it.
Asking the User for Input
The Sage.UI.Dialogs library has a function named raiseInputDialog that will prompt the user for a value. The callback has an extra parameter of the value input by the user. The code looks like this:
// create the callback function
var fn = function(ok, value) {
if (ok) {
console.log('The value from the user is: ' + value);
}
else {
console.log('The user cancelled the prompt');
}
};
// now invoke the dialog
Sage.UI.Dialogs.raiseInputDialog('Some Question', 'Please enter the value', fn, 'OK', 'Cancel');
The prompt looks like this:

Additionally, you can add a default value for the input field and a regular expression to validate the value (along with a message to display if the value doesn’t pass the regex test). The complete function signature looks like this:
raiseInputDialog: function (title, query, callbackFn, yesText, noText, defaultValue, regExp, invalidMessage)
What makes this better than using the standard Javascript prompt function is that, not only can you customize the prompt text and title, but you can customize the button captions and even provide a regex to validate the input value – all that on top of having a much nicer looking prompt dialog that keeps a uniform look with the rest of the Infor CRM client.



