Javascript 使用onchange=this.form.submit()传递提交表单的标记的id

Javascript 使用onchange=this.form.submit()传递提交表单的标记的id,javascript,jquery,html,Javascript,Jquery,Html,有没有办法知道提交了哪个select tag表单 <form method="POST" action="submit.php"> <select id="id1" name="sel1" onchange="this.form.submit()"> <option value="1">First</option> <option value="2" selected="selected">Sec

有没有办法知道提交了哪个select tag表单

<form method="POST" action="submit.php">
    <select id="id1" name="sel1" onchange="this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>

    <select id="id2" name="sel2" onchange="this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>
</form>

弗斯特
第二
弗斯特
第二
非jQuery解决方案更好,但不是强制性的


问题是
selected=“select”
属性是动态生成的(我不知道哪个选项会被选为默认值-因此我无法将默认值与提交值进行比较)

首先想到的是一个隐藏字段,其中包含您设置的值。像这样的事情应该可以

<form method="POST" action="submit.php">
    <input type="hidden" name="submitselect" value="" id="submitselect">
    <select id="id1" name="sel1" onchange="document.getElementById('submitselect').value='sel1';this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>

    <select id="id2" name="sel2" onchange="document.getElementById('submitselect').value='sel2';this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>
</form>

弗斯特
第二
弗斯特
第二
或者,您可以选择一个默认选项,例如

<option value="" selected>-</option>
-

否则就永远不会选择这一点。这样,此选项将在未导致提交的
select
s中保持未设置状态。

select->(通过js函数)隐藏文本框->php(使用GET或POST),因此,在使用此代码进行任何选择更改时将提交表单?(关于默认选择选项-我没有设置默认选项的权限)是的,表单将在任何选择更改时提交,就像您当前的代码一样。您没有设置默认选项的权限是什么意思?您已经使用
selected=“selected”
设置了一个。这就是一个示例。。。我不知道会选哪个。。我也不知道每个
会有多少
字段,甚至不知道会生成多少
元素。。。最简单的方法是传递触发表单提交的“id”。。。。顺便说一下,谢谢你的回答:)