If January is the default selected option, then the onchange event won't fire when you select it without selecting something else first. I would stick with the onchange event and just include a 'select one' option, but onclick works too I suppose.
Also, if you're trying to be standards compliant, then you shouldn't be using innerHTML. You'd have to use document.createTextNode() and element.appendChild() to do things the w3c way. But innerHTML is supported by all mainstream browsers I believe, so it should be fine.
And for passing the current element to a function, you can use the 'this' keyword, and 'this.form' to pass the containing form of form elements'. So for the form validation, it would just be onsubmit="return validateForm(this)".
Also, if you're trying to be standards compliant, then you shouldn't be using innerHTML. You'd have to use document.createTextNode() and element.appendChild() to do things the w3c way. But innerHTML is supported by all mainstream browsers I believe, so it should be fine.
And for passing the current element to a function, you can use the 'this' keyword, and 'this.form' to pass the containing form of form elements'. So for the form validation, it would just be onsubmit="return validateForm(this)".