我有一个带有多个提交按钮的表单,其中一个是重新加载按钮,这证明很难编码。
这个想法是,当用户单击“重新加载”时,表单被提交,并根据选择字段的值进行更新。该位的代码片段很简单(简化为基础):
<select type="text" id="dataamount" size="1">
<option value="time0h10m">Latest 10 minutes</option>
<option value="time1h00m">Latest 1 hour</option>
<option value="time12h00m">Latest 12 hours</option>
</select>
<input type="submit" id="btnreload" value="reload latest data">
<input type="submit" id="btndelete" value="delete all">
<input type="submit" id="btnrun" value="run">
然后我想,如果用户更改了“重新加载”字段值,那么无论如何都应该通过“重新加载”按钮触发提交。(为什么要强制他们更改然后单击,= 2 个操作?当 dataamount -> onchange 发生时自动触发提交要好得多。)但是我必须指定哪个提交按钮,而不仅仅是提交表单。那就是问题所在。
我想做这样的事情,但我认为这不起作用或不可靠:
<select type="text" id="dataamount" size="1"
onchange="document.getElementById('btnreload').submit();">
etc
or "..... ('btnreload').click();
但我找不到任何指南来执行此操作,或提供我拥有的选项。偶尔会有一些提示,提交字段的 click() 可能得不到很好的支持,或者提交字段不能总是使用 .submit() 来执行。
我追求良好的兼容性并使用纯javascript(没有jquery等)。理想情况下,我希望将其保持内联并尽可能避免(启用/禁用 + form.submit())解决方法(提交按钮可能会更改或变为动态)。