繁体   English   中英

使用onchange = this.form.submit()传递提交表单的标签的ID

[英]Passing id of tag that submited form with onchange=this.form.submit()

有没有办法知道哪个选择标签提交表单?

<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解决方案,但不是强制性的...

PS问题是, 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保持未设置状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM