Domo HartleySan!
First off, I would like to recognize your willingness to share your knowledge in a way that assists others in growing their knowledge as well.
My first inclination was to separate the script from HTML as you suggested, but was unclear on how to accomplish this. I believe that your example got me moving in the right direction. Here are some observations that I made during testing:
1. Both of the following anonymous function calls accomplish the same thing in IE8 without JS errors:
document.getElementById('seasonid').onchange = function() {window.location.href="reports.php?season=" + this.value};
document.getElementById('seasonid').onchange = function() {window.location.href="reports.php?season=" + this.form.seasonid.options[this.form.seasonid.selectedIndex].value};
I speculate that 'this' conditionally references different objects based on how the object is being qualified (at least in IE8).
2. While the 'seasonid' element may be referenced as document.getElementById('seasonid') in IE8, Firefox 4 returns a 'null' value for this reference. However, your second solution 'document.forms[0].seasonid' works well in both browsers.
3. If I attempt to create a second select element named 'purch' and append its value in the query string '&purch=purch.value' works without error in IE8, but 'purch' is not recognized as an object in Firefox 4.
So I'm already running into browser incompatabilities, and I haven't even tested in Safari or Opera yet!
This brings us to your final point. My ultimate strategy is to add an AJAX layer to the application. However, the reading that I have done so far suggests that it is preferable to have a working solution that functions without AJAX so that users whose browsers are incompatible with the required technology can still use the application. Then and only then should AJAX technology be added. For me, this begs the question: will my compatibility issues be compounded by adding an AJAX layer?
I do understand the issue your raise regarding the current strategy, and the need to reload the page every time the select option is changed. However, I don't anticipate that users will be using this functionality regularly. I simply wanted to make it available in the off chance that users wanted to review previous seasons' data.
Thank you again for taking the time to share your thoughts and to guide me. I look forward to your thoughts on the above.