i'm getting a "return not in function" error on the return for chkEach() does anybody know the general cause of this error because it keeps coming up? Thanks for yr time! //TP chkEach(FeildIDs,funct) { var arrFeilds = new Array(); arrFeilds=document.getElementById(FeildIDs); var arrErr= new Array(); for(var i=0; i<arrFeilds.length; i++) { arrErr.push(funct(arrFeilds[i])); } return arrErr; } Code (markup): Rest of code: //TP function chkboxRange(chkboxarray, min, minerror, max, maxerror) { /* Creates Array - var arrName = new Array() arrName[0]="item1" arrName[1]="item2" arrName[2]="item3" - var arrName=new Array("item1","item2","item3") - var arrName = ["item1","item2","item3"] */ var arrSelect =[]; //Cycle thru checkbox array //since first index=0, length is always 1 more than last index. for(var i=0;i<chkboxarray.length;i++) { if(chkboxarray[i].checked) { //if checked, push id into Select array. arrSelect.push(chkboxarray[i].id); } } var arrError = new Array(); //if min exists & length is less than min, add minerror to arrError array. if(min && arrSelect.length<min) { arrError.push(minerror); } //if max exists & length is less than max, add maxerror to arrError array. if(max && arrSelect.length<max) { arrError.push(maxerror); } return arrError; } /* This function checks whether the passed parameter is null or blank. In this we pass the value of the fields as a parameter. If the str is blank or null, it will return true and otherwise false. */ function isEmpty(feild) { //var str1=trim(str); var str= feild.value; /* http://www.webreference.com/js/column5/index.html Regular Expression Key: / - pattern must begin and end with / in Javascript Modifiers Before or after g Do global pattern matching. i Do case-insensitive pattern matching. m* Treat the string as multiple lines. s* Treat the string as a single line. x* Ignore whitespace within a pattern. * Modifiers that are not supported by Navigator 4.0x and Internet Explorer 4.0. Examples /JavaScript/i matches both "javascript" and "JavaScript" Rule 2: | Seperates alternatives Rule 4: Assertions ^ Matches at the beginning of the string. $ Matches at the end of the string. \b Matches a word boundary (between \w and \W), when not inside []. \B Matches a non-word boundary. Rule 5: Quantifiers {m,n} Must occur at least m times, but not more than n times. {n,} Must occur at least n times. {n} Must occur exactly n times. * Must occur 0 or more times (same as {0,}). + Must occur 1 or more times (same as {1,}). ? Must occur 0 or 1 time (same as {0,1}). Rule 6: Special Characters \n Linefeed \r Carriage return \t Tab \v Vertical tab \f Form-feed \d A digit (same as [0-9]) \D A non-digit (same as [^0-9]) \w A word (alphanumeric) character (same as [a-zA-Z_0-9]) \W A non-word character (same as [^a-zA-Z_0-9]) \s A whitespace character (same as [ \t\v\n\r\f]) \S A non-whitespace character (same as [^ \t\v\n\r\f]) /abc/gi */ //Replace str value with value after run thru regex. //regex deletes whitespace before the first & after the last alphanumeric character var trim = str.replace(/^\s+|\s+$/g,""); if(trim == null || trim.length==0) { var error='<a href=#'+feild+'>'+feild+'is a required feild.</a>'; return error; } else { return true; } } //this Keyword - http://www.quirksmode.org/js/this.html /* This Function is to find out that whther the value of the field is numeric or not. Parameter: any value(In this case its a value contained in any field.) Returns: false if user has not entered the number, true otherwise. */ function onlyNbr(feild) { var str=feild.value; var pat = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; if(!str.match(pat)) { var error='<a href=#'+feild+'>'+feild+'should consist of numbers only.</a>'; return error; } else { return true; } } /* Function to find out whether the passed id is valid or not. Paramter: Email Id. In this case vfalue of a field in which email is entered. Return: It returns true is the mail is not valid and false in opposite situation. */ function isValidEmail(feild) { var str=feild.value; var pat = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; if(!str.match(pat)) { var error='<a href=#'+feild+'>'+feild+'is not a valid email address containing a \'@\' and extension (.com, .org, etc).</a>'; return error; } else { return true; } } //TP chkEach(FeildIDs,funct) { var arrFeilds = new Array(); arrFeilds=document.getElementById(FeildIDs); var arrErr= new Array(); for(var i=0; i<arrFeilds.length; i++) { arrErr.push(funct(arrFeilds[i])); } return arrErr; } //TP chkUsual() { var arrErr= new Array(); //Concatenate arrays - http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_concat arrErr=arrErr.concat(chkEach(reqTypeTxt,isEmpty); //arrErr=arrErr.concat(chkEach(onlyLtr,); arrErr=arrErr.concat(chkEach(onlyNbr,onlyNbr); arrErr=arrErr.concat(chkEach(validEmail,isValidEmail); return arrErr; } //TP chkForm() { var arrErr= new Array(); arrErr=arrErr.concat(chkUsual()); if(arrErr) { for(var i=0;i<arrErr.length;i++) { document.getElementById('faults').innerHTML+=arrErr[i]; } return false; } } Code (markup):
You're not declaring the function. It should be: [b]function[/b] chkEach(FeildIDs,funct) .... Code (markup):
The OP dumped this question into every forum he could find. He got his answer elsewhere, but didn't bother to acknowledge it or mark any of his threads as resolved.