on submit client script to validate if the hours greater than 24

RudhraKAM
Tera Guru

Hello I need some help in writing the onsubmit client script   ,thanks in advance

Requirement is if the user enters greater than 24 in hrs field it should not allow the user to save the value and should throw an error

find_real_file.png

find_real_file.png

the on submit script which i tried is

I copied it from other client script

it is stoping me if I use less than 24 hrs too , please correct my script if necessary and the timer field is Out of the box .

function onSubmit() {

var time = g_form.getValue('time_worked');

if( time ) {

var day = parseInt(time.split(' ')[0], 10);

if( day ) {

g_form.showErrorBox('time_worked', 'Time worked for a given day cannot exceed 24 hours! Changes to time worked have not been saved', true);

return false;

}

}

}

1 ACCEPTED SOLUTION

Use this.



Modified the if condition



function onSubmit() {


    //Type appropriate comment here, and begin script below




var a=g_form.getElement('time_worked').value;


alert(a);


var b=a.split(':');


var c=b[0].split(" ");


if(c[0]!=''&& c.length>1)


{


alert("Please enter value less than 24");


return false;


}



}


View solution in original post

14 REPLIES 14

Hello Deepak still no use ,thanks for the reply


Let me know the alert result.



function onSubmit() {


var time = g_form.getValue('time_worked');


if( time ) {


var day = parseInt(time.split(' ')[0], 10);


alert("Time worked =" +time);


alert("Days = "+ day);


if( day >= 1 ) {


g_form.showErrorBox('time_worked', 'Time worked for a given day cannot exceed 24 hours! Changes to time worked have not been saved', true);


return false;


}


}


}


ark6
Mega Guru

Hi Kammila,



The timer fields in service-now are not same as the other OOB fields. It won't give you the value with simple getValue() function.



Its works like, if you give a value more than 24, it would take it as 1 extra day and the hours added.



The below script will check if the value entered is more than 24 and give an error.



function onSubmit() {


    //Type appropriate comment here, and begin script below


var a=g_form.getElement('time_worked').value;


alert(a);


var b=a.split(':');


var c=b[0].split(" ");


if(c[0]!='')


{


alert("Please enter value less than 24");


return false;


}



}



Please hit like or mark helpful or correct if this solves your issue


Hello majumder



I tried this but if i enter less than 24 its showing the alert message and not saving


1st alert find_real_file.png




2nd alert even if i give 20



find_real_file.png