diff --git a/functions.js b/functions.js index 358069647..4f1688de9 100755 --- a/functions.js +++ b/functions.js @@ -2,25 +2,44 @@ var isFormElementInRange; -function checkFormElementInRange (form, name, min, max ) { +/** + * Ensures a value submitted in a form is numeric and is in a range + * + * @param object the form + * @param string the name of the form field to check + * @param integer the minimum authorized value + 1 + * @param integer the maximum authorized value + 1 + * + * @return boolean whether a valid number has been submitted or not + */ +function checkFormElementInRange(theForm, theFieldName, min, max ) +{ + isFormElementInRange = true; + var theField = theForm.elements[theFieldName]; + var val = parseInt(theField.value); - isFormElementInRange = true; - var val = parseInt( eval( "form." + name + ".value" )); - - if(isNaN(val)) { + // It's not a number + if (isNaN(val)) { + alert('This is not a number!'); isFormElementInRange = false; + theField.select(); + theField.focus(); return false; } - if (val < min || val > max ) { - alert( val +" is not a valid row number!" ); + // It's a number but it is not between min and max + else if (val < min || val > max) { + alert(val + ' is not a valid row number!'); isFormElementInRange = false; - eval( "form."+ name + ".focus()"); - eval( "form."+ name + ".select()"); - }else { - eval( "form."+ name + ".value = val" ); + theField.select(); + theField.focus(); + return false; + } + // It's a valid number + else { + theField.value = val; } return true; -} +} // end of the 'checkFormElementInRange()' function //-->