validation - Javascript: Problems with invoking functions within a function -


i trying clean spaghettified code , decided separate methods separate functional objects , call them within single validate function. code runs correctly on first function , returns alert box correctly. however, when fix first alert , resubmit form second function fires alert @ me fix something, click okay , alert on third function. need put in code stop program running after click okay second functions alert can fix issue, how?

var checkboxes = document.getelementsbyname('days'); var valid      = false;  function textfieldvalid(){     var textfieldsreq = document.getelementsbyname('textfieldreq');     for( var i=0;i<9;i++ ){         if ( !textfieldsreq[i].value ){             alert ( 'you need fill in required* text field!' );             textfieldsreq[i].focus();             return false;         }     } };   function checkboxesvalid(){     ( var = 0;i<checkboxes.length;i++ ){         if ( checkboxes[i].checked ) {         valid = true;         break;         }     }     if ( !valid ) {         alert( 'you need select @ least 1 day!' );         checkboxes[0].focus();         return false;     } }  function lodgevalid(){     var lodging = document.getelementsbyname('lodge');     for( var i=0; i<lodging.length; i++ ){         if( lodging[i].checked ){             valid=true;             break;         }     }     if ( !valid ) {         alert( 'you need select @ least 1 option!' );         lodging[0].focus();         return false;     } }   function validate(textfieldsreq){     textfieldvalid();     checkboxesvalid();     lodgevalid();     }; 

you need return true/false each of tests , then

var checkboxes = document.getelementsbyname('days');  function textfieldvalid() {     var textfieldsreq = document.getelementsbyname('textfieldreq');     (var = 0; < 9; i++) {         if (!textfieldsreq[i].value) {             alert('you need fill in required* text field!');             textfieldsreq[i].focus();             return false;         }     }     //if valid return true     return true; };   function checkboxesvalid() {     //create local variables     var valid = false;     (var = 0; < checkboxes.length; i++) {         if (checkboxes[i].checked) {             valid = true;             break;         }     }     if (!valid) {         alert('you need select @ least 1 day!');         checkboxes[0].focus();         return false;     }     //if valid return true     return valid; }  function lodgevalid() {     var lodging = document.getelementsbyname('lodge'),         valid = false;     (var = 0; < lodging.length; i++) {         if (lodging[i].checked) {             valid = true;             break;         }     }     if (!valid) {         alert('you need select @ least 1 option!');         lodging[0].focus();         return false;     }     //if valid return true     return valid; }   function validate(textfieldsreq) {     //check whether tests turnig true     return textfieldvalid() && checkboxesvalid() && lodgevalid(); }; 

Comments