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
Post a Comment