为什么 JavaScript onchange 事件不使用 POST 方法更改在我的 VBScript 页面上发送到服务器的值?

Why isn't JavaScript onchange event changing the value sent to the server on my VBScript page using POST method?

我在 ASP Classic/HTML5 网页上有一个 select 表单,如下所示:

<form id="my-form" name="my-form" method="POST">
    <select name="year" onchange="submitMyForm()">
        <option value="2010">2010</option>
        <option value="2011">2011</option>
    </select>
</form>

我的 ASP Classic 页面的页眉使用 VBScript 处理表单请求,如下所示:

<%
Dim formYear
formYear = Resquest.Form("year")

Response.Write(formYear)

%>

我的 JS 代码仅执行以下操作

<script>
    function submitMyForm() {
        document.getElementById("my-form").submit();
    }
</script>

我的问题是,当我更改 select 的值时,onchange 事件会被触发,但我的 VBScript 代码不会获得正确的值,只会是坚持与开始相同的价值。

注意:我将表单提交到它所在的同一页面。

你的代码对我有用 - 但它在选择 2010 时不会触发,因为这是默认值,而你是 "not changing" 当前值(因为那是页面加载时的值)。或许还可以添加所选值 - 这样如果值发生变化,您就会看到它?

<select name="year" onchange="submitMyForm();">
<% If (len(formYear) > 0) Then %>
 <option value="<%=formYear%>" selected><%=formYear%></option>
<% End If %>
 <option value="2010">2010</option>
 <option value="2011">2011</option>
</select>