// submit the form to the specified page function goToPage( pageUrl ) { // the form object that will be used document.location.href=pageUrl; } // required_elements contains the names of elements that have to be // filled in before the form can be submitted required_elements = new Array(); // check_format_elements contains the names and formats of elements // that have to be filled in with the correct format before // the form can be submitted check_format_elements = new Array(); // add an element to the required_elements array function add_required_element( element_name ) { required_elements[ required_elements.length ] = element_name; } // add an element to the check_format_elements array function add_check_format_element( element_name, element_format ) { element_to_format = new Array( element_name, element_format ) check_format_elements[ check_format_elements.length ] = element_to_format; } /** * returns true if all the required elements are filled in and all * the formated elements have the right format. otherwise returns false. */ function validate_form() { var form_is_valid = true; for ( i = 0; i < required_elements.length; i++ ) { elements = document.getElementsByName( required_elements[ i ] ); // there may be more than one element with the same name, // eg. radiobuttons // NOTE: not sure what the effect of a hidden variable with // the same name as a required/formatted element will have for ( j = 0; j < elements.length; j++ ) { //window.alert( elements[ j ].name + " - " + elements[ j ].type ); var valid = false; valid = validate_required_element( elements[ j ].name, elements[ j ].type ); if ( !valid ) { form_is_valid = false; } } } for ( i = 0; i < check_format_elements.length; i++ ) { var element_name; element_name = check_format_elements[ i ][ 0 ]; var element_format; element_format = check_format_elements[ i ][ 1 ]; elements = document.getElementsByName( element_name ); for ( j = 0; j < elements.length; j++ ) { //window.alert( elements[ j ].name + " - " + elements[ j ].type ); valid = validate_formatted_element( elements[ j ].name, elements[ j ].type, element_format ); if ( !valid ) { form_is_valid = false; } } } // TODO: remove //form_is_valid = false; return form_is_valid; } /** * returns true if the required element is filled in, false otherwise */ function validate_required_element() { // TODO: implement return true; } /** * returns true if the formatted element is filled in with the correct * format, false otherwise. * note: it will return true if the element * is not filled in at all. this is so that optional elements can be * tested for formatting. */ function validate_formatted_element() { // TODO: implement return true; } function saveResult() { goToPage( 'save-to-myplan.php' ); }