- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2016 06:45 PM
Hi All,
Hoping for some help with my alert message client script.
I have a requirement to have my customer fill out a field with a minimum and maximum of 6 numbers and no characters.
I have created an onchange client script which appears to work well, however I get a looping alert which needs to be closed for the customer to progress. Can soomebody please tell me what I have done incorrectly in my code?
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading ) {
return;
}
var myFieldValue = g_form.getValue('u_mcn_io_number');
if (myFieldValue.toString().length < 6) { // or whatever number you want
g_form.setValue('u_mcn_io_number','');
alert('Please enter 6 or more characters.');
}
if(oldValue != newValue){
var VALIDCHARS = "1234567890";
var number = newValue.trim();
var regEx = "^[0-9]*$";
var rtn = number.match(regEx);
g_form.hideFieldMsg('u_mcn_io_number', true);
if (rtn == null) {
g_form.showFieldMsg('u_mcn_io_number', number + " is an invalid number, please re-enter using only characters from " + VALIDCHARS ,'error');
return;
}
}
}
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2016 07:08 PM
Here you go, replace first if with this
if (isLoading || newValue === '') {
return;
}
Your script will be
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue === '') {
return;
}
var myFieldValue = g_form.getValue('u_mcn_io_number');
if (myFieldValue.toString().length < 6) { // or whatever number you want
g_form.setValue('u_mcn_io_number','');
alert('Please enter 6 or more characters.');
}
if(oldValue != newValue){
var VALIDCHARS = "1234567890";
var number = newValue.trim();
var regEx = "^[0-9]*$";
var rtn = number.match(regEx);
g_form.hideFieldMsg('u_mcn_io_number', true);
if (rtn == null) {
g_form.showFieldMsg('u_mcn_io_number', number + " is an invalid number, please re-enter using only characters from " + VALIDCHARS ,'error');
return;
}
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2016 07:08 PM
Here you go, replace first if with this
if (isLoading || newValue === '') {
return;
}
Your script will be
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue === '') {
return;
}
var myFieldValue = g_form.getValue('u_mcn_io_number');
if (myFieldValue.toString().length < 6) { // or whatever number you want
g_form.setValue('u_mcn_io_number','');
alert('Please enter 6 or more characters.');
}
if(oldValue != newValue){
var VALIDCHARS = "1234567890";
var number = newValue.trim();
var regEx = "^[0-9]*$";
var rtn = number.match(regEx);
g_form.hideFieldMsg('u_mcn_io_number', true);
if (rtn == null) {
g_form.showFieldMsg('u_mcn_io_number', number + " is an invalid number, please re-enter using only characters from " + VALIDCHARS ,'error');
return;
}
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2016 07:18 PM
Perfect, thanks for that!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2016 07:19 PM
Perfect, that worked, thanks!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2016 07:20 PM
Glad you got your question answered.